New issue
Advanced search Search tips

Issue 849323 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Jan 16
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug

Blocked on:
issue 850955

Blocking:
issue 847985



Sign in to add a comment

Implement views/harmony modal dialog for WebAuthn

Project Member Reported by engedy@chromium.org, Jun 4 2018

Issue description

Summary: Implement views/harmony modal dialog for WebAuthn (was: Implement `views` modal dialog for WebAuthn)
Screenshot for the MVP dialog that is not yet interactive (even the 'x' button does not cancel the request).
webauthn_dialog_minimal_noninteractive.png
28.9 KB View Download
Project Member

Comment 3 by bugdroid1@chromium.org, Jun 8 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/bdb56ef8e4213592a5d7f93cdc0ea04e2d3b41d7

commit bdb56ef8e4213592a5d7f93cdc0ea04e2d3b41d7
Author: Balazs Engedy <engedy@chromium.org>
Date: Fri Jun 08 11:11:58 2018

Initial version of AuthenticationDialog.

Implement an initial MVP of the modal dialog that is shown during
WebAuthn requests. See the screenshot here:  crbug.com/849323#c2 .

The dialog is not yet interactive, even the `x` button does not yet
cancel the WebAuthn request (it does hide the dialog).

Bug:  849323 
Change-Id: I3e1d9148f0727e33fb54e9bd1b747b84caa3c827
Reviewed-on: https://chromium-review.googlesource.com/964448
Commit-Queue: Balazs Engedy <engedy@chromium.org>
Reviewed-by: Trent Apted <tapted@chromium.org>
Cr-Commit-Position: refs/heads/master@{#565607}
[modify] https://crrev.com/bdb56ef8e4213592a5d7f93cdc0ea04e2d3b41d7/chrome/app/generated_resources.grd
[modify] https://crrev.com/bdb56ef8e4213592a5d7f93cdc0ea04e2d3b41d7/chrome/browser/BUILD.gn
[modify] https://crrev.com/bdb56ef8e4213592a5d7f93cdc0ea04e2d3b41d7/chrome/browser/ui/BUILD.gn
[add] https://crrev.com/bdb56ef8e4213592a5d7f93cdc0ea04e2d3b41d7/chrome/browser/ui/views/webauthn/OWNERS
[add] https://crrev.com/bdb56ef8e4213592a5d7f93cdc0ea04e2d3b41d7/chrome/browser/ui/views/webauthn/authenticator_request_dialog_view.cc
[add] https://crrev.com/bdb56ef8e4213592a5d7f93cdc0ea04e2d3b41d7/chrome/browser/ui/views/webauthn/authenticator_request_dialog_view.h
[add] https://crrev.com/bdb56ef8e4213592a5d7f93cdc0ea04e2d3b41d7/chrome/browser/ui/webauthn/OWNERS
[add] https://crrev.com/bdb56ef8e4213592a5d7f93cdc0ea04e2d3b41d7/chrome/browser/ui/webauthn/authenticator_dialog_browsertest.cc
[add] https://crrev.com/bdb56ef8e4213592a5d7f93cdc0ea04e2d3b41d7/chrome/browser/ui/webauthn/authenticator_request_dialog.h
[add] https://crrev.com/bdb56ef8e4213592a5d7f93cdc0ea04e2d3b41d7/chrome/browser/webauthn/authenticator_request_dialog_model.cc
[add] https://crrev.com/bdb56ef8e4213592a5d7f93cdc0ea04e2d3b41d7/chrome/browser/webauthn/authenticator_request_dialog_model.h
[modify] https://crrev.com/bdb56ef8e4213592a5d7f93cdc0ea04e2d3b41d7/chrome/browser/webauthn/chrome_authenticator_request_delegate.cc
[modify] https://crrev.com/bdb56ef8e4213592a5d7f93cdc0ea04e2d3b41d7/chrome/browser/webauthn/chrome_authenticator_request_delegate.h
[modify] https://crrev.com/bdb56ef8e4213592a5d7f93cdc0ea04e2d3b41d7/chrome/common/chrome_switches.cc
[modify] https://crrev.com/bdb56ef8e4213592a5d7f93cdc0ea04e2d3b41d7/chrome/common/chrome_switches.h
[modify] https://crrev.com/bdb56ef8e4213592a5d7f93cdc0ea04e2d3b41d7/chrome/test/BUILD.gn

Blockedon: 850955
Project Member

Comment 5 by bugdroid1@chromium.org, Jun 8 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7e37b21a997c528bd4a2dee800d55a94515de9ae

commit 7e37b21a997c528bd4a2dee800d55a94515de9ae
Author: Balazs Engedy <engedy@chromium.org>
Date: Fri Jun 08 15:18:48 2018

Make ChromeAuthenticatorDialogDelegate clean up more tidy.

This is a follow-up to crrev.com/c/964448, which was committed before
a comment around this was addressed.

Bug:  849323 
Change-Id: I5c6de00476424a566081a55b5bb2f2ef787c4cb6
TBR: tapted@chromium.org
Reviewed-on: https://chromium-review.googlesource.com/1092857
Commit-Queue: Balazs Engedy <engedy@chromium.org>
Reviewed-by: Balazs Engedy <engedy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#565636}
[modify] https://crrev.com/7e37b21a997c528bd4a2dee800d55a94515de9ae/chrome/browser/webauthn/chrome_authenticator_request_delegate.cc

Comment 6 by engedy@chromium.org, Jun 12 2018

Screenshot of placeholder sheet view.
Screenshot from 2018-06-12 16-27-11.png
20.2 KB View Download

Comment 7 by engedy@chromium.org, Jun 12 2018

Screenshot of the transport selector list.
Screenshot from 2018-06-12 22-07-40.png
27.2 KB View Download
Project Member

Comment 8 by bugdroid1@chromium.org, Jun 13 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a275018ea52d2039212735aaeb45aaf77c1b654f

commit a275018ea52d2039212735aaeb45aaf77c1b654f
Author: Balazs Engedy <engedy@chromium.org>
Date: Wed Jun 13 07:45:26 2018

Decouple creating AuthenticatorRequestClientDelegate from showing UI.

This allows AuthenticatorImpl to first create the delegate and ask it if the
WebContents has focus, and only then triggering the request dialog (which may
steal the focus), so as to avoid race conditions around focus checking at
request start.

The CL also fixes fake FidoDiscoveries to use weak pointers so as to support
being immediately destroyed after the discovery is started.

Bug:  849323 , 851593
Change-Id: Iae4ac25dc39b527e5481836e4522a6f4da7e31ba
Reviewed-on: https://chromium-review.googlesource.com/1095619
Commit-Queue: Balazs Engedy <engedy@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Reviewed-by: Adam Langley <agl@chromium.org>
Cr-Commit-Position: refs/heads/master@{#566750}
[modify] https://crrev.com/a275018ea52d2039212735aaeb45aaf77c1b654f/chrome/browser/webauthn/chrome_authenticator_request_delegate.cc
[modify] https://crrev.com/a275018ea52d2039212735aaeb45aaf77c1b654f/chrome/browser/webauthn/chrome_authenticator_request_delegate.h
[modify] https://crrev.com/a275018ea52d2039212735aaeb45aaf77c1b654f/content/browser/webauth/authenticator_impl.cc
[modify] https://crrev.com/a275018ea52d2039212735aaeb45aaf77c1b654f/content/browser/webauth/authenticator_impl_unittest.cc
[modify] https://crrev.com/a275018ea52d2039212735aaeb45aaf77c1b654f/content/public/browser/authenticator_request_client_delegate.cc
[modify] https://crrev.com/a275018ea52d2039212735aaeb45aaf77c1b654f/content/public/browser/authenticator_request_client_delegate.h
[modify] https://crrev.com/a275018ea52d2039212735aaeb45aaf77c1b654f/device/fido/fake_fido_discovery.cc
[modify] https://crrev.com/a275018ea52d2039212735aaeb45aaf77c1b654f/device/fido/scoped_virtual_fido_device.cc

Project Member

Comment 9 by bugdroid1@chromium.org, Jun 14 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9311dc3820b9be71b3a86877e016bb5efae26edd

commit 9311dc3820b9be71b3a86877e016bb5efae26edd
Author: Balazs Engedy <engedy@chromium.org>
Date: Thu Jun 14 13:56:06 2018

WebAuthn: use WebContents::GetVisibility for focus checks.

After this CL, the focus checks performed by navigator.credentials.create()
requests will now succeed when called from the foreground tab in a browser
window, even if the window is not currently the active window. Invocations
from minimized windows and background tabs are still rejected. On platforms
with Visibility::OCCLUDED support, occluded windows are also considered to
be unfocused.

Furthermore, the CL has two side effects:
 -- Foreground WebContents that are currently showing a permission bubble
    or a web-modal dialog are now considered to be "focused" on all
    desktop platforms. The special handling in AuthenticatorImpl is no
    longer needed.
 -- On Linux, the foreground tab in a browser window on an inactive virtual
    screen is still considered to be focused.

While this may very well not be the right approach going forwards, it will
allow consistent behavior regardless of whether the WebAuthn UI is enabled
or disabled. (With UI enabled, focus checks are replaced by checking if the
WebAuthn dialog is currently shown.)

Bug:  849323 
Change-Id: I3afc542bed3765be1e43c2fa348fc5b67a8b2aef
Reviewed-on: https://chromium-review.googlesource.com/1092859
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Reviewed-by: Mike Wittman <wittman@chromium.org>
Reviewed-by: Adam Langley <agl@chromium.org>
Commit-Queue: Balazs Engedy <engedy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#567249}
[modify] https://crrev.com/9311dc3820b9be71b3a86877e016bb5efae26edd/chrome/browser/webauth_interactive_uitest.cc
[modify] https://crrev.com/9311dc3820b9be71b3a86877e016bb5efae26edd/chrome/browser/webauthn/chrome_authenticator_request_delegate.cc
[modify] https://crrev.com/9311dc3820b9be71b3a86877e016bb5efae26edd/content/browser/webauth/authenticator_impl.cc

Labels: Hotlist-WebAuthnUI
Project Member

Comment 11 by bugdroid1@chromium.org, Jun 18 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/77a6bb6303c64c93846b1b5f539f7c6f0af10490

commit 77a6bb6303c64c93846b1b5f539f7c6f0af10490
Author: Balazs Engedy <engedy@chromium.org>
Date: Mon Jun 18 11:19:47 2018

Introduce AuthenticatorRequestSheets.

AuthenticatorRequestSheetView defines the basic structure of sheets
shown in the authenticator request dialog. Each sheet corresponds to a
certain step of the authentication flow, and encapsulates the controls
above the Ok/Cancel buttons, namely:
 -- an optional `back icon`,
 -- the title of the current step,
 -- the description of the current step, and
 -- a view with step-specific content, filling the rest of the space.

AuthenticatorRequestSheetModel will be subclassed for each step of
the authenticator request UX flow, and, for each step, the subclass is
going to encapsulate:

 (1) knowledge of the set of actions possible to the user at that step,

 (2) pieces of data required by views to visualise the sheet:
   (a) strings to use on labels/buttons rendered by the SheetView and
       the AuthenticatorRequestDialogView, and the state of the buttons,
   (b) data for additional step-specific contents rendered by SheetView
       subclasses, if any,

 (3) logic to handle user interactions with:
   (a) the `Back`, `Accept`, `Cancel`, buttons, even though the latter
       two are actually rendered by the AuthenticatorRequestDialogView,
   (b) the step-specific contents, if any.

For now, only a sheet with the original static content is shown.

Bug:  849323 
Change-Id: I8b92f180a3dc3abc901dcb2ad0200e45271416a3
Reviewed-on: https://chromium-review.googlesource.com/1097321
Commit-Queue: Balazs Engedy <engedy@chromium.org>
Reviewed-by: Trent Apted <tapted@chromium.org>
Reviewed-by: Kim Paulhamus <kpaulhamus@chromium.org>
Cr-Commit-Position: refs/heads/master@{#567973}
[modify] https://crrev.com/77a6bb6303c64c93846b1b5f539f7c6f0af10490/chrome/browser/ui/BUILD.gn
[add] https://crrev.com/77a6bb6303c64c93846b1b5f539f7c6f0af10490/chrome/browser/ui/views/webauthn/authenticator_dialog_view_browsertest.cc
[modify] https://crrev.com/77a6bb6303c64c93846b1b5f539f7c6f0af10490/chrome/browser/ui/views/webauthn/authenticator_request_dialog_view.cc
[modify] https://crrev.com/77a6bb6303c64c93846b1b5f539f7c6f0af10490/chrome/browser/ui/views/webauthn/authenticator_request_dialog_view.h
[add] https://crrev.com/77a6bb6303c64c93846b1b5f539f7c6f0af10490/chrome/browser/ui/views/webauthn/authenticator_request_dialog_view_test_api.cc
[add] https://crrev.com/77a6bb6303c64c93846b1b5f539f7c6f0af10490/chrome/browser/ui/views/webauthn/authenticator_request_dialog_view_test_api.h
[add] https://crrev.com/77a6bb6303c64c93846b1b5f539f7c6f0af10490/chrome/browser/ui/views/webauthn/authenticator_request_sheet_view.cc
[add] https://crrev.com/77a6bb6303c64c93846b1b5f539f7c6f0af10490/chrome/browser/ui/views/webauthn/authenticator_request_sheet_view.h
[add] https://crrev.com/77a6bb6303c64c93846b1b5f539f7c6f0af10490/chrome/browser/ui/webauthn/authenticator_request_sheet_model.h
[modify] https://crrev.com/77a6bb6303c64c93846b1b5f539f7c6f0af10490/chrome/test/BUILD.gn

Project Member

Comment 12 by bugdroid1@chromium.org, Jun 18 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/696cec7b2aa056d72b1c78d28bfe80af4d9c51b0

commit 696cec7b2aa056d72b1c78d28bfe80af4d9c51b0
Author: Balazs Engedy <engedy@chromium.org>
Date: Mon Jun 18 19:44:58 2018

Introduce sheet models, and sheet view factory.

This CL introduces AuthenticatorSheetModelBase, which will serve as a
base class for sheets, and implement the shared behavior used on most
sheets, as well as maintaining a weak pointer to the dialog model.

Also introduce CreateSheetViewForCurrentStepOf, a factory method that
constructs the appropriate SheetView subclass, along with the
appropriate SheetModel subclass.

Bug:  849323 
Change-Id: Iaedb3da6aa3f3fdc932b57cc5795143acab7d4c5
Reviewed-on: https://chromium-review.googlesource.com/1104422
Reviewed-by: Kim Paulhamus <kpaulhamus@chromium.org>
Reviewed-by: Jun Choi <hongjunchoi@chromium.org>
Commit-Queue: Balazs Engedy <engedy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#568114}
[modify] https://crrev.com/696cec7b2aa056d72b1c78d28bfe80af4d9c51b0/chrome/browser/ui/BUILD.gn
[modify] https://crrev.com/696cec7b2aa056d72b1c78d28bfe80af4d9c51b0/chrome/browser/ui/views/webauthn/authenticator_dialog_view_browsertest.cc
[modify] https://crrev.com/696cec7b2aa056d72b1c78d28bfe80af4d9c51b0/chrome/browser/ui/views/webauthn/authenticator_request_dialog_view.cc
[modify] https://crrev.com/696cec7b2aa056d72b1c78d28bfe80af4d9c51b0/chrome/browser/ui/views/webauthn/authenticator_request_dialog_view.h
[modify] https://crrev.com/696cec7b2aa056d72b1c78d28bfe80af4d9c51b0/chrome/browser/ui/views/webauthn/authenticator_request_sheet_view.cc
[modify] https://crrev.com/696cec7b2aa056d72b1c78d28bfe80af4d9c51b0/chrome/browser/ui/views/webauthn/authenticator_request_sheet_view.h
[add] https://crrev.com/696cec7b2aa056d72b1c78d28bfe80af4d9c51b0/chrome/browser/ui/views/webauthn/sheet_view_factory.cc
[add] https://crrev.com/696cec7b2aa056d72b1c78d28bfe80af4d9c51b0/chrome/browser/ui/views/webauthn/sheet_view_factory.h
[modify] https://crrev.com/696cec7b2aa056d72b1c78d28bfe80af4d9c51b0/chrome/browser/ui/webauthn/authenticator_dialog_browsertest.cc
[add] https://crrev.com/696cec7b2aa056d72b1c78d28bfe80af4d9c51b0/chrome/browser/ui/webauthn/sheet_models.cc
[add] https://crrev.com/696cec7b2aa056d72b1c78d28bfe80af4d9c51b0/chrome/browser/ui/webauthn/sheet_models.h

Project Member

Comment 13 by bugdroid1@chromium.org, Jun 19 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ea1dfaf47b2a9f14eb16761205ea802e2ac30956

commit ea1dfaf47b2a9f14eb16761205ea802e2ac30956
Author: Balazs Engedy <engedy@chromium.org>
Date: Tue Jun 19 12:17:12 2018

WebAuthn: Add TransportListView and its model.

TransportListView displays a list of transports over which the user can
access security keys.

Bug:  849323 
Change-Id: Id445b7fea711f8b3e482588cc3d6213e3221d3be
Reviewed-on: https://chromium-review.googlesource.com/1097775
Commit-Queue: Balazs Engedy <engedy@chromium.org>
Reviewed-by: Trent Apted <tapted@chromium.org>
Reviewed-by: Balazs Engedy <engedy@chromium.org>
Reviewed-by: Evan Stade <estade@chromium.org>
Reviewed-by: Kim Paulhamus <kpaulhamus@chromium.org>
Cr-Commit-Position: refs/heads/master@{#568410}
[modify] https://crrev.com/ea1dfaf47b2a9f14eb16761205ea802e2ac30956/chrome/app/generated_resources.grd
[modify] https://crrev.com/ea1dfaf47b2a9f14eb16761205ea802e2ac30956/chrome/app/vector_icons/BUILD.gn
[add] https://crrev.com/ea1dfaf47b2a9f14eb16761205ea802e2ac30956/chrome/app/vector_icons/bluetooth.icon
[add] https://crrev.com/ea1dfaf47b2a9f14eb16761205ea802e2ac30956/chrome/app/vector_icons/fingerprint.icon
[add] https://crrev.com/ea1dfaf47b2a9f14eb16761205ea802e2ac30956/chrome/app/vector_icons/nfc.icon
[modify] https://crrev.com/ea1dfaf47b2a9f14eb16761205ea802e2ac30956/chrome/browser/BUILD.gn
[modify] https://crrev.com/ea1dfaf47b2a9f14eb16761205ea802e2ac30956/chrome/browser/ui/BUILD.gn
[add] https://crrev.com/ea1dfaf47b2a9f14eb16761205ea802e2ac30956/chrome/browser/ui/views/webauthn/authenticator_transport_selector_sheet_view.cc
[add] https://crrev.com/ea1dfaf47b2a9f14eb16761205ea802e2ac30956/chrome/browser/ui/views/webauthn/authenticator_transport_selector_sheet_view.h
[modify] https://crrev.com/ea1dfaf47b2a9f14eb16761205ea802e2ac30956/chrome/browser/ui/views/webauthn/sheet_view_factory.cc
[add] https://crrev.com/ea1dfaf47b2a9f14eb16761205ea802e2ac30956/chrome/browser/ui/views/webauthn/transport_list_view.cc
[add] https://crrev.com/ea1dfaf47b2a9f14eb16761205ea802e2ac30956/chrome/browser/ui/views/webauthn/transport_list_view.h
[modify] https://crrev.com/ea1dfaf47b2a9f14eb16761205ea802e2ac30956/chrome/browser/ui/webauthn/authenticator_dialog_browsertest.cc
[modify] https://crrev.com/ea1dfaf47b2a9f14eb16761205ea802e2ac30956/chrome/browser/ui/webauthn/sheet_models.cc
[modify] https://crrev.com/ea1dfaf47b2a9f14eb16761205ea802e2ac30956/chrome/browser/ui/webauthn/sheet_models.h
[modify] https://crrev.com/ea1dfaf47b2a9f14eb16761205ea802e2ac30956/chrome/browser/webauthn/authenticator_request_dialog_model.cc
[modify] https://crrev.com/ea1dfaf47b2a9f14eb16761205ea802e2ac30956/chrome/browser/webauthn/authenticator_request_dialog_model.h
[add] https://crrev.com/ea1dfaf47b2a9f14eb16761205ea802e2ac30956/chrome/browser/webauthn/transport_list_model.cc
[add] https://crrev.com/ea1dfaf47b2a9f14eb16761205ea802e2ac30956/chrome/browser/webauthn/transport_list_model.h

Project Member

Comment 14 by bugdroid1@chromium.org, Jun 30 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8cb78e0fa2457ac7cdd3e74b4a683a512a32b771

commit 8cb78e0fa2457ac7cdd3e74b4a683a512a32b771
Author: Balazs Engedy <engedy@chromium.org>
Date: Sat Jun 30 00:34:27 2018

Advance to `Insert USB` sheet.

Implement advancing from transport selection to the step where the user
is asked to insert a USB security key.

Bug:  849323 
Change-Id: Idd7ee863d8c5a826e156e8b9fea1bfdd1ee2347c
Reviewed-on: https://chromium-review.googlesource.com/1104687
Commit-Queue: Balazs Engedy <engedy@chromium.org>
Reviewed-by: Kim Paulhamus <kpaulhamus@chromium.org>
Reviewed-by: Jun Choi <hongjunchoi@chromium.org>
Reviewed-by: Balazs Engedy <engedy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#571721}
[modify] https://crrev.com/8cb78e0fa2457ac7cdd3e74b4a683a512a32b771/chrome/app/generated_resources.grd
[modify] https://crrev.com/8cb78e0fa2457ac7cdd3e74b4a683a512a32b771/chrome/browser/ui/views/webauthn/sheet_view_factory.cc
[modify] https://crrev.com/8cb78e0fa2457ac7cdd3e74b4a683a512a32b771/chrome/browser/ui/webauthn/sheet_models.cc
[modify] https://crrev.com/8cb78e0fa2457ac7cdd3e74b4a683a512a32b771/chrome/browser/ui/webauthn/sheet_models.h
[modify] https://crrev.com/8cb78e0fa2457ac7cdd3e74b4a683a512a32b771/chrome/browser/webauthn/authenticator_request_dialog_model.cc

Project Member

Comment 15 by bugdroid1@chromium.org, Jul 3

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/76b68f824bb8833016f94fbf16c25177691eff59

commit 76b68f824bb8833016f94fbf16c25177691eff59
Author: Jun Choi <hongjunchoi@chromium.org>
Date: Tue Jul 03 01:30:13 2018

Add UI sheets for USB security key use flow

Add "Verifying USB" sheet to USB UI flow and combine 'kInsertUsb' state
and 'kActivateUsb' state as it is shown in a single UI flow. As we do
not plan on implementing "Complete" UI sheet for initial version, this
completes the UI flow for USB security key use.

Bug:  849323 
Change-Id: I8c1a8cbc8d4aedee557ac65c730b99295070a4ab
Reviewed-on: https://chromium-review.googlesource.com/1105403
Commit-Queue: Jun Choi <hongjunchoi@chromium.org>
Reviewed-by: Kim Paulhamus <kpaulhamus@chromium.org>
Reviewed-by: Balazs Engedy <engedy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#572071}
[modify] https://crrev.com/76b68f824bb8833016f94fbf16c25177691eff59/chrome/app/generated_resources.grd
[modify] https://crrev.com/76b68f824bb8833016f94fbf16c25177691eff59/chrome/browser/ui/views/webauthn/sheet_view_factory.cc
[modify] https://crrev.com/76b68f824bb8833016f94fbf16c25177691eff59/chrome/browser/ui/webauthn/authenticator_dialog_browsertest.cc
[modify] https://crrev.com/76b68f824bb8833016f94fbf16c25177691eff59/chrome/browser/ui/webauthn/sheet_models.cc
[modify] https://crrev.com/76b68f824bb8833016f94fbf16c25177691eff59/chrome/browser/ui/webauthn/sheet_models.h
[modify] https://crrev.com/76b68f824bb8833016f94fbf16c25177691eff59/chrome/browser/webauthn/authenticator_request_dialog_model.cc
[modify] https://crrev.com/76b68f824bb8833016f94fbf16c25177691eff59/chrome/browser/webauthn/authenticator_request_dialog_model.h

Project Member

Comment 16 by bugdroid1@chromium.org, Jul 3

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8d2d6ebcb56b707fc8d64dd8ab32e6fc9aec9add

commit 8d2d6ebcb56b707fc8d64dd8ab32e6fc9aec9add
Author: Jun Choi <hongjunchoi@chromium.org>
Date: Tue Jul 03 19:51:09 2018

Add 'Time out' UI sheet

Add 'Time out' sheet model to show when Web Authentication request
times-out due to inactivity or error.

Bug:  849323 
Change-Id: Ifda965c3120d4fbd28f46a4f62e88200f316ca0f
Reviewed-on: https://chromium-review.googlesource.com/1105284
Commit-Queue: Jun Choi <hongjunchoi@chromium.org>
Reviewed-by: Kim Paulhamus <kpaulhamus@chromium.org>
Reviewed-by: Balazs Engedy <engedy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#572325}
[modify] https://crrev.com/8d2d6ebcb56b707fc8d64dd8ab32e6fc9aec9add/chrome/app/generated_resources.grd
[modify] https://crrev.com/8d2d6ebcb56b707fc8d64dd8ab32e6fc9aec9add/chrome/browser/ui/views/webauthn/sheet_view_factory.cc
[modify] https://crrev.com/8d2d6ebcb56b707fc8d64dd8ab32e6fc9aec9add/chrome/browser/ui/webauthn/authenticator_dialog_browsertest.cc
[modify] https://crrev.com/8d2d6ebcb56b707fc8d64dd8ab32e6fc9aec9add/chrome/browser/ui/webauthn/sheet_models.cc
[modify] https://crrev.com/8d2d6ebcb56b707fc8d64dd8ab32e6fc9aec9add/chrome/browser/ui/webauthn/sheet_models.h
[modify] https://crrev.com/8d2d6ebcb56b707fc8d64dd8ab32e6fc9aec9add/chrome/browser/webauthn/authenticator_request_dialog_model.cc
[modify] https://crrev.com/8d2d6ebcb56b707fc8d64dd8ab32e6fc9aec9add/chrome/browser/webauthn/authenticator_request_dialog_model.h

Project Member

Comment 18 by bugdroid1@chromium.org, Jul 10

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b5bd5942df761e72aed95415b52ad598712eeb9c

commit b5bd5942df761e72aed95415b52ad598712eeb9c
Author: Jun Choi <hongjunchoi@chromium.org>
Date: Tue Jul 10 22:49:24 2018

Show initial dialog sheet during WebAuthN request

Complete dialog view for very first step of WebAuthN request UI flow.
That is, when a user first invokes WebAuthN Make/Get request, show a
initial welcome screen and then show "activate usb device view" once
the user clicks the continue button.

Bug:  849323 
Change-Id: I89c961c6278a68082675fe5a024a51bd9d1d15bb
Reviewed-on: https://chromium-review.googlesource.com/1130829
Reviewed-by: Kim Paulhamus <kpaulhamus@chromium.org>
Commit-Queue: Jun Choi <hongjunchoi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#573961}
[modify] https://crrev.com/b5bd5942df761e72aed95415b52ad598712eeb9c/chrome/app/generated_resources.grd
[modify] https://crrev.com/b5bd5942df761e72aed95415b52ad598712eeb9c/chrome/browser/ui/webauthn/sheet_models.cc
[modify] https://crrev.com/b5bd5942df761e72aed95415b52ad598712eeb9c/chrome/browser/ui/webauthn/sheet_models.h
[modify] https://crrev.com/b5bd5942df761e72aed95415b52ad598712eeb9c/chrome/browser/webauthn/authenticator_request_dialog_model.cc

Project Member

Comment 19 by bugdroid1@chromium.org, Aug 13

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/510bdfabde03b354d0d0bae7e0e70012ac8cc450

commit 510bdfabde03b354d0d0bae7e0e70012ac8cc450
Author: Balazs Engedy <engedy@chromium.org>
Date: Mon Aug 13 13:06:08 2018

Add image assets for WebAuthn UX.

Bug:  849323 
Change-Id: Ia5ed52ee21c634a018c8652f7dc3380673852956
Reviewed-on: https://chromium-review.googlesource.com/1169212
Reviewed-by: Balazs Engedy <engedy@chromium.org>
Reviewed-by: Bernhard Bauer <bauerb@chromium.org>
Commit-Queue: Balazs Engedy <engedy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#582560}
[add] https://crrev.com/510bdfabde03b354d0d0bae7e0e70012ac8cc450/chrome/browser/resources/webauthn/2x/ble.png
[add] https://crrev.com/510bdfabde03b354d0d0bae7e0e70012ac8cc450/chrome/browser/resources/webauthn/2x/ble_name.png
[add] https://crrev.com/510bdfabde03b354d0d0bae7e0e70012ac8cc450/chrome/browser/resources/webauthn/2x/ble_pin.png
[add] https://crrev.com/510bdfabde03b354d0d0bae7e0e70012ac8cc450/chrome/browser/resources/webauthn/2x/ble_tap.png
[add] https://crrev.com/510bdfabde03b354d0d0bae7e0e70012ac8cc450/chrome/browser/resources/webauthn/2x/error_bt.png
[add] https://crrev.com/510bdfabde03b354d0d0bae7e0e70012ac8cc450/chrome/browser/resources/webauthn/2x/error_timeout.png
[add] https://crrev.com/510bdfabde03b354d0d0bae7e0e70012ac8cc450/chrome/browser/resources/webauthn/2x/phone.png
[add] https://crrev.com/510bdfabde03b354d0d0bae7e0e70012ac8cc450/chrome/browser/resources/webauthn/2x/touchid.png
[add] https://crrev.com/510bdfabde03b354d0d0bae7e0e70012ac8cc450/chrome/browser/resources/webauthn/2x/usb.png
[add] https://crrev.com/510bdfabde03b354d0d0bae7e0e70012ac8cc450/chrome/browser/resources/webauthn/2x/welcome.png
[add] https://crrev.com/510bdfabde03b354d0d0bae7e0e70012ac8cc450/chrome/browser/resources/webauthn/OWNERS
[add] https://crrev.com/510bdfabde03b354d0d0bae7e0e70012ac8cc450/chrome/browser/resources/webauthn/ble.png
[add] https://crrev.com/510bdfabde03b354d0d0bae7e0e70012ac8cc450/chrome/browser/resources/webauthn/ble_name.png
[add] https://crrev.com/510bdfabde03b354d0d0bae7e0e70012ac8cc450/chrome/browser/resources/webauthn/ble_pin.png
[add] https://crrev.com/510bdfabde03b354d0d0bae7e0e70012ac8cc450/chrome/browser/resources/webauthn/ble_tap.png
[add] https://crrev.com/510bdfabde03b354d0d0bae7e0e70012ac8cc450/chrome/browser/resources/webauthn/error_bt.png
[add] https://crrev.com/510bdfabde03b354d0d0bae7e0e70012ac8cc450/chrome/browser/resources/webauthn/error_timeout.png
[add] https://crrev.com/510bdfabde03b354d0d0bae7e0e70012ac8cc450/chrome/browser/resources/webauthn/phone.png
[add] https://crrev.com/510bdfabde03b354d0d0bae7e0e70012ac8cc450/chrome/browser/resources/webauthn/touchid.png
[add] https://crrev.com/510bdfabde03b354d0d0bae7e0e70012ac8cc450/chrome/browser/resources/webauthn/usb.png
[add] https://crrev.com/510bdfabde03b354d0d0bae7e0e70012ac8cc450/chrome/browser/resources/webauthn/welcome.png

Project Member

Comment 20 by bugdroid1@chromium.org, Aug 13

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7a14097de944d79bdf8b0f9d44e98d139b0c09d4

commit 7a14097de944d79bdf8b0f9d44e98d139b0c09d4
Author: Balazs Engedy <engedy@chromium.org>
Date: Mon Aug 13 15:53:57 2018

Ensure WebAuthn dialog is laid out again after each step transition.

While the layout of both the button row and the |content_view|, showing
the sheet-specific content, inside the |client_view| was correctly
invalidated, the |client_view| was never re-laid-out, so the newly added
controls were never sized and positioned.

This visually resulted in missing controls in the content area as well
as missing buttons on the bottom row in 99% of cases, the remaining 1%
being when we got lucky and the height of the dialog changed as a result
of the step transition, in which case resizing the Widget triggered a
Layout of its view.

Bug:  849323 
Change-Id: Ie615d467ea9ab7f95d5af0a44181ab172409672b
Reviewed-on: https://chromium-review.googlesource.com/1172441
Reviewed-by: Jun Choi <hongjunchoi@chromium.org>
Commit-Queue: Balazs Engedy <engedy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#582594}
[modify] https://crrev.com/7a14097de944d79bdf8b0f9d44e98d139b0c09d4/chrome/browser/ui/views/webauthn/authenticator_request_dialog_view.cc

Project Member

Comment 21 by bugdroid1@chromium.org, Aug 14

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/045f7eb82ab197945ac0acdb9d1566bfb9b063c7

commit 045f7eb82ab197945ac0acdb9d1566bfb9b063c7
Author: Balazs Engedy <engedy@chromium.org>
Date: Tue Aug 14 12:02:12 2018

Show illustrations in WebAuthn UX.

Change each sheet show during the WebAuthn UX flow to include a pretty
illustration in the top of half of the dialog.

Bug:  849323 
Change-Id: Ieff9ceea06f63f5b6892e4401b43b922a13d28a8
Reviewed-on: https://chromium-review.googlesource.com/1172323
Commit-Queue: Balazs Engedy <engedy@chromium.org>
Reviewed-by: Jun Choi <hongjunchoi@chromium.org>
Reviewed-by: Bernhard Bauer <bauerb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#582887}
[modify] https://crrev.com/045f7eb82ab197945ac0acdb9d1566bfb9b063c7/chrome/browser/browser_resources.grd
[modify] https://crrev.com/045f7eb82ab197945ac0acdb9d1566bfb9b063c7/chrome/browser/ui/views/webauthn/authenticator_dialog_view_browsertest.cc
[modify] https://crrev.com/045f7eb82ab197945ac0acdb9d1566bfb9b063c7/chrome/browser/ui/views/webauthn/authenticator_request_sheet_view.cc
[modify] https://crrev.com/045f7eb82ab197945ac0acdb9d1566bfb9b063c7/chrome/browser/ui/views/webauthn/authenticator_request_sheet_view.h
[modify] https://crrev.com/045f7eb82ab197945ac0acdb9d1566bfb9b063c7/chrome/browser/ui/views/webauthn/sheet_view_factory.cc
[modify] https://crrev.com/045f7eb82ab197945ac0acdb9d1566bfb9b063c7/chrome/browser/ui/webauthn/authenticator_request_sheet_model.h
[modify] https://crrev.com/045f7eb82ab197945ac0acdb9d1566bfb9b063c7/chrome/browser/ui/webauthn/sheet_models.cc
[modify] https://crrev.com/045f7eb82ab197945ac0acdb9d1566bfb9b063c7/chrome/browser/ui/webauthn/sheet_models.h

Project Member

Comment 22 by bugdroid1@chromium.org, Aug 16

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/621260323159a969dae6dab7e758bc382ea8ce48

commit 621260323159a969dae6dab7e758bc382ea8ce48
Author: Martin Kreichgauer <martinkr@google.com>
Date: Thu Aug 16 00:45:27 2018

webauthn: add a UI sheet view and model for Touch ID

This is just the basic sheet; nothing wired up yet.

Bug:  849323 
Change-Id: I088310de39966895dfa7d3008c631382b990f520
Reviewed-on: https://chromium-review.googlesource.com/1173347
Commit-Queue: Martin Kreichgauer <martinkr@google.com>
Reviewed-by: Kim Paulhamus <kpaulhamus@chromium.org>
Reviewed-by: Dave Schuyler <dschuyler@chromium.org>
Reviewed-by: Balazs Engedy <engedy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#583471}
[modify] https://crrev.com/621260323159a969dae6dab7e758bc382ea8ce48/chrome/app/generated_resources.grd
[modify] https://crrev.com/621260323159a969dae6dab7e758bc382ea8ce48/chrome/browser/browser_resources.grd
[modify] https://crrev.com/621260323159a969dae6dab7e758bc382ea8ce48/chrome/browser/ui/views/webauthn/sheet_view_factory.cc
[modify] https://crrev.com/621260323159a969dae6dab7e758bc382ea8ce48/chrome/browser/ui/webauthn/authenticator_dialog_browsertest.cc
[modify] https://crrev.com/621260323159a969dae6dab7e758bc382ea8ce48/chrome/browser/ui/webauthn/sheet_models.cc
[modify] https://crrev.com/621260323159a969dae6dab7e758bc382ea8ce48/chrome/browser/ui/webauthn/sheet_models.h
[modify] https://crrev.com/621260323159a969dae6dab7e758bc382ea8ce48/chrome/browser/webauthn/authenticator_request_dialog_model.cc
[modify] https://crrev.com/621260323159a969dae6dab7e758bc382ea8ce48/chrome/browser/webauthn/authenticator_request_dialog_model.h

Project Member

Comment 23 by bugdroid1@chromium.org, Aug 16

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/eda97a926ab329090c185d2904a08a7a27cc7efe

commit eda97a926ab329090c185d2904a08a7a27cc7efe
Author: Balazs Engedy <engedy@chromium.org>
Date: Thu Aug 16 22:22:53 2018

Update WebAuthn UX strings with final-ish revisions.

Screenshots for strings will be uploaded in a follow-up CL.

This CL also improves the naming of some string constants, as well as deduplicates
the two USB activation sheets (register/sign) into just one.

Bug:  849323 
Change-Id: I37709d65c6fe980dff18d1b98d070a66f4d90115
TBR: jcivelli@chromium.org
Reviewed-on: https://chromium-review.googlesource.com/1178285
Reviewed-by: Jun Choi <hongjunchoi@chromium.org>
Commit-Queue: Balazs Engedy <engedy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#583853}
[modify] https://crrev.com/eda97a926ab329090c185d2904a08a7a27cc7efe/chrome/app/generated_resources.grd
[modify] https://crrev.com/eda97a926ab329090c185d2904a08a7a27cc7efe/chrome/browser/ui/views/webauthn/sheet_view_factory.cc
[modify] https://crrev.com/eda97a926ab329090c185d2904a08a7a27cc7efe/chrome/browser/ui/webauthn/authenticator_dialog_browsertest.cc
[modify] https://crrev.com/eda97a926ab329090c185d2904a08a7a27cc7efe/chrome/browser/ui/webauthn/sheet_models.cc
[modify] https://crrev.com/eda97a926ab329090c185d2904a08a7a27cc7efe/chrome/browser/ui/webauthn/sheet_models.h
[modify] https://crrev.com/eda97a926ab329090c185d2904a08a7a27cc7efe/chrome/browser/webauthn/authenticator_request_dialog_model.cc
[modify] https://crrev.com/eda97a926ab329090c185d2904a08a7a27cc7efe/chrome/browser/webauthn/authenticator_request_dialog_model.h
[modify] https://crrev.com/eda97a926ab329090c185d2904a08a7a27cc7efe/chrome/browser/webauthn/chrome_authenticator_request_delegate.cc

Project Member

Comment 24 by bugdroid1@chromium.org, Aug 17

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7843cb75a3e51f092e77ada9c4de94de21c6f1f4

commit 7843cb75a3e51f092e77ada9c4de94de21c6f1f4
Author: Balazs Engedy <engedy@chromium.org>
Date: Fri Aug 17 22:05:05 2018

More final WebAuthn UX strings.

Most notably, `security key` is no longer capitalized.

Bug:  849323 
Change-Id: I5f9693cd95c21d770dbac7d2eeba081b2bf34f1a
Reviewed-on: https://chromium-review.googlesource.com/1179900
Commit-Queue: Balazs Engedy <engedy@chromium.org>
Reviewed-by: Jun Choi <hongjunchoi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#584213}
[modify] https://crrev.com/7843cb75a3e51f092e77ada9c4de94de21c6f1f4/chrome/app/generated_resources.grd
[modify] https://crrev.com/7843cb75a3e51f092e77ada9c4de94de21c6f1f4/chrome/browser/ui/webauthn/sheet_models.cc

Project Member

Comment 25 by bugdroid1@chromium.org, Aug 20

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0f540606934ba838064a6b4683831e4a412cd5d9

commit 0f540606934ba838064a6b4683831e4a412cd5d9
Author: Balazs Engedy <engedy@chromium.org>
Date: Mon Aug 20 17:29:43 2018

Align WebAuthn dialog padding/sizes/colors with UI specs.

The CL implements the following changes:
 -- The illustration now fills the top half of dialogs entirely, so
    there is no space on the left, right, and top edge.
 -- The description text is now using views::style::STYLE_SECONDARY.
 -- The back arrow button has the same distance to the left and top
    dialog border.
 -- The padding between dialog title and description has been reduced
    to 8 pt instead of 16 pt.
 -- Item separators in the transport selection list now use GGray300.

Bug:  849323 
Change-Id: I17c0b45e5155610993dd159229f56e5b3081efd1
Reviewed-on: https://chromium-review.googlesource.com/1181047
Reviewed-by: Jun Choi <hongjunchoi@chromium.org>
Commit-Queue: Balazs Engedy <engedy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#584485}
[modify] https://crrev.com/0f540606934ba838064a6b4683831e4a412cd5d9/chrome/browser/ui/views/webauthn/authenticator_request_dialog_view.cc
[modify] https://crrev.com/0f540606934ba838064a6b4683831e4a412cd5d9/chrome/browser/ui/views/webauthn/authenticator_request_sheet_view.cc
[modify] https://crrev.com/0f540606934ba838064a6b4683831e4a412cd5d9/chrome/browser/ui/views/webauthn/authenticator_request_sheet_view.h
[modify] https://crrev.com/0f540606934ba838064a6b4683831e4a412cd5d9/chrome/browser/ui/views/webauthn/transport_list_view.cc

Project Member

Comment 26 by bugdroid1@chromium.org, Aug 20

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0c4fdc59cf081abceceedd696f7fb679d1c2e44e

commit 0c4fdc59cf081abceceedd696f7fb679d1c2e44e
Author: Balazs Engedy <engedy@chromium.org>
Date: Mon Aug 20 19:15:28 2018

Display relying party ID on WebAuthn UI.

Also, fix the plumbing of |rp_id| out of FidoRequestHandlers into
TransportAvailabilityInfo, and add unittests to verify correctness.

Bug:  866601 ,  849323 
Change-Id: I0e8c1250208c52306501fab7b9c55a2b1a34bbd1
Reviewed-on: https://chromium-review.googlesource.com/1181265
Commit-Queue: Balazs Engedy <engedy@chromium.org>
Reviewed-by: Balazs Engedy <engedy@chromium.org>
Reviewed-by: Jun Choi <hongjunchoi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#584526}
[modify] https://crrev.com/0c4fdc59cf081abceceedd696f7fb679d1c2e44e/chrome/browser/ui/views/webauthn/authenticator_dialog_view_browsertest.cc
[modify] https://crrev.com/0c4fdc59cf081abceceedd696f7fb679d1c2e44e/chrome/browser/ui/webauthn/authenticator_dialog_browsertest.cc
[modify] https://crrev.com/0c4fdc59cf081abceceedd696f7fb679d1c2e44e/chrome/browser/ui/webauthn/sheet_models.cc
[modify] https://crrev.com/0c4fdc59cf081abceceedd696f7fb679d1c2e44e/chrome/browser/ui/webauthn/sheet_models.h
[modify] https://crrev.com/0c4fdc59cf081abceceedd696f7fb679d1c2e44e/chrome/browser/webauthn/authenticator_request_dialog_model.h
[modify] https://crrev.com/0c4fdc59cf081abceceedd696f7fb679d1c2e44e/device/fido/get_assertion_handler_unittest.cc
[modify] https://crrev.com/0c4fdc59cf081abceceedd696f7fb679d1c2e44e/device/fido/get_assertion_request_handler.cc
[modify] https://crrev.com/0c4fdc59cf081abceceedd696f7fb679d1c2e44e/device/fido/make_credential_handler_unittest.cc
[modify] https://crrev.com/0c4fdc59cf081abceceedd696f7fb679d1c2e44e/device/fido/make_credential_request_handler.cc

Project Member

Comment 27 by bugdroid1@chromium.org, Aug 21

Project Member

Comment 29 by bugdroid1@chromium.org, Aug 21

Project Member

Comment 30 by bugdroid1@chromium.org, Aug 21

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/bda2056df569ed215723d6adc159694f94ffa9e7

commit bda2056df569ed215723d6adc159694f94ffa9e7
Author: Balazs Engedy <engedy@chromium.org>
Date: Tue Aug 21 22:07:49 2018

Make title of WebAuthn dialogs multi-line.

In case of long relying party IDs, we should not truncate them.

Bug:  849323 
Change-Id: Idbfb63866c54bd98b6a9006f47c59291a29bc4cc
Reviewed-on: https://chromium-review.googlesource.com/1183494
Reviewed-by: Jun Choi <hongjunchoi@chromium.org>
Commit-Queue: Balazs Engedy <engedy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#584905}
[modify] https://crrev.com/bda2056df569ed215723d6adc159694f94ffa9e7/chrome/browser/ui/views/webauthn/authenticator_request_sheet_view.cc

Project Member

Comment 31 by bugdroid1@chromium.org, Aug 22

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/27d8383ef23dea08d655a296bada1754b8342f6b

commit 27d8383ef23dea08d655a296bada1754b8342f6b
Author: Balazs Engedy <engedy@chromium.org>
Date: Wed Aug 22 18:40:02 2018

Factor transport name/icons out from TransportListModel.

They will also be needed for the pop-up transport selection menu.

This CL also removes the duplicate AuthenticatorTransport enum, and
makes it just an alias for device::FidoTransportProtocol.

Bug:  849323 
Change-Id: I5b9e6c38de71e4b4139d6101acd898daaf86b707
Reviewed-on: https://chromium-review.googlesource.com/1185181
Commit-Queue: Balazs Engedy <engedy@chromium.org>
Reviewed-by: Jan Wilken Dörrie <jdoerrie@chromium.org>
Cr-Commit-Position: refs/heads/master@{#585183}
[modify] https://crrev.com/27d8383ef23dea08d655a296bada1754b8342f6b/chrome/browser/BUILD.gn
[modify] https://crrev.com/27d8383ef23dea08d655a296bada1754b8342f6b/chrome/browser/ui/BUILD.gn
[modify] https://crrev.com/27d8383ef23dea08d655a296bada1754b8342f6b/chrome/browser/ui/views/webauthn/transport_list_view.cc
[modify] https://crrev.com/27d8383ef23dea08d655a296bada1754b8342f6b/chrome/browser/ui/webauthn/authenticator_dialog_browsertest.cc
[add] https://crrev.com/27d8383ef23dea08d655a296bada1754b8342f6b/chrome/browser/ui/webauthn/transport_utils.cc
[add] https://crrev.com/27d8383ef23dea08d655a296bada1754b8342f6b/chrome/browser/ui/webauthn/transport_utils.h
[modify] https://crrev.com/27d8383ef23dea08d655a296bada1754b8342f6b/chrome/browser/webauthn/authenticator_request_dialog_model.cc
[modify] https://crrev.com/27d8383ef23dea08d655a296bada1754b8342f6b/chrome/browser/webauthn/authenticator_request_dialog_model_unittest.cc
[add] https://crrev.com/27d8383ef23dea08d655a296bada1754b8342f6b/chrome/browser/webauthn/authenticator_transport.h
[modify] https://crrev.com/27d8383ef23dea08d655a296bada1754b8342f6b/chrome/browser/webauthn/transport_list_model.h

Project Member

Comment 32 by bugdroid1@chromium.org, Aug 23

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/86e9b65dda82e86862f1fbfd0878600da1ae4be4

commit 86e9b65dda82e86862f1fbfd0878600da1ae4be4
Author: Balazs Engedy <engedy@chromium.org>
Date: Thu Aug 23 09:33:05 2018

Add key not/already registered error screens for WebAuthn.

The screens are never shown for now outside of tests.

Also rename the `error_timeout` illustration to just `error`, as it is
now used for all kinds of errors, not just timeouts.

Bug:  847985 ,  849323 
Change-Id: Ieb73254c20948c5cdffb7513249cbae61980e1a2
TBR: dschuyler@chromium.org
Reviewed-on: https://chromium-review.googlesource.com/1185008
Reviewed-by: Jun Choi <hongjunchoi@chromium.org>
Commit-Queue: Balazs Engedy <engedy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#585434}
[modify] https://crrev.com/86e9b65dda82e86862f1fbfd0878600da1ae4be4/chrome/browser/browser_resources.grd
[rename] https://crrev.com/86e9b65dda82e86862f1fbfd0878600da1ae4be4/chrome/browser/resources/webauthn/2x/error.png
[rename] https://crrev.com/86e9b65dda82e86862f1fbfd0878600da1ae4be4/chrome/browser/resources/webauthn/error.png
[modify] https://crrev.com/86e9b65dda82e86862f1fbfd0878600da1ae4be4/chrome/browser/ui/views/webauthn/sheet_view_factory.cc
[modify] https://crrev.com/86e9b65dda82e86862f1fbfd0878600da1ae4be4/chrome/browser/ui/webauthn/authenticator_dialog_browsertest.cc
[modify] https://crrev.com/86e9b65dda82e86862f1fbfd0878600da1ae4be4/chrome/browser/ui/webauthn/sheet_models.cc
[modify] https://crrev.com/86e9b65dda82e86862f1fbfd0878600da1ae4be4/chrome/browser/ui/webauthn/sheet_models.h
[modify] https://crrev.com/86e9b65dda82e86862f1fbfd0878600da1ae4be4/chrome/browser/webauthn/authenticator_request_dialog_model.h

Project Member

Comment 34 by bugdroid1@chromium.org, Aug 29

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/287620b732d28d23132a80729ba059277d1ca49c

commit 287620b732d28d23132a80729ba059277d1ca49c
Author: Balazs Engedy <engedy@chromium.org>
Date: Wed Aug 29 10:56:13 2018

Make use of high-DPI WebAuthn illustrations.

Move all PNG files that are used as illustrations in the WebAuthn dialog
from //chrome/browser/resources to //chrome/app/theme, and reference
them in theme_resources.grd instead, to take advantage of the built-in
logic to select the 1x/2x versions based on the current DPI setting.

Bug:  849323 
Change-Id: Ic43e71aec7ba6c5d31519eb916b9d99999f25ad6
Reviewed-on: https://chromium-review.googlesource.com/1193944
Commit-Queue: Balazs Engedy <engedy@chromium.org>
Reviewed-by: Mitsuru Oshima <oshima@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: Jun Choi <hongjunchoi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#587070}
[rename] https://crrev.com/287620b732d28d23132a80729ba059277d1ca49c/chrome/app/theme/default_100_percent/common/webauthn/OWNERS
[rename] https://crrev.com/287620b732d28d23132a80729ba059277d1ca49c/chrome/app/theme/default_100_percent/common/webauthn/ble.png
[rename] https://crrev.com/287620b732d28d23132a80729ba059277d1ca49c/chrome/app/theme/default_100_percent/common/webauthn/ble_name.png
[rename] https://crrev.com/287620b732d28d23132a80729ba059277d1ca49c/chrome/app/theme/default_100_percent/common/webauthn/ble_pin.png
[rename] https://crrev.com/287620b732d28d23132a80729ba059277d1ca49c/chrome/app/theme/default_100_percent/common/webauthn/ble_tap.png
[rename] https://crrev.com/287620b732d28d23132a80729ba059277d1ca49c/chrome/app/theme/default_100_percent/common/webauthn/error.png
[rename] https://crrev.com/287620b732d28d23132a80729ba059277d1ca49c/chrome/app/theme/default_100_percent/common/webauthn/error_bt.png
[rename] https://crrev.com/287620b732d28d23132a80729ba059277d1ca49c/chrome/app/theme/default_100_percent/common/webauthn/phone.png
[rename] https://crrev.com/287620b732d28d23132a80729ba059277d1ca49c/chrome/app/theme/default_100_percent/common/webauthn/touchid.png
[rename] https://crrev.com/287620b732d28d23132a80729ba059277d1ca49c/chrome/app/theme/default_100_percent/common/webauthn/usb.png
[rename] https://crrev.com/287620b732d28d23132a80729ba059277d1ca49c/chrome/app/theme/default_100_percent/common/webauthn/welcome.png
[copy] https://crrev.com/287620b732d28d23132a80729ba059277d1ca49c/chrome/app/theme/default_200_percent/common/webauthn/OWNERS
[rename] https://crrev.com/287620b732d28d23132a80729ba059277d1ca49c/chrome/app/theme/default_200_percent/common/webauthn/ble.png
[rename] https://crrev.com/287620b732d28d23132a80729ba059277d1ca49c/chrome/app/theme/default_200_percent/common/webauthn/ble_name.png
[rename] https://crrev.com/287620b732d28d23132a80729ba059277d1ca49c/chrome/app/theme/default_200_percent/common/webauthn/ble_pin.png
[rename] https://crrev.com/287620b732d28d23132a80729ba059277d1ca49c/chrome/app/theme/default_200_percent/common/webauthn/ble_tap.png
[rename] https://crrev.com/287620b732d28d23132a80729ba059277d1ca49c/chrome/app/theme/default_200_percent/common/webauthn/error.png
[rename] https://crrev.com/287620b732d28d23132a80729ba059277d1ca49c/chrome/app/theme/default_200_percent/common/webauthn/error_bt.png
[rename] https://crrev.com/287620b732d28d23132a80729ba059277d1ca49c/chrome/app/theme/default_200_percent/common/webauthn/phone.png
[rename] https://crrev.com/287620b732d28d23132a80729ba059277d1ca49c/chrome/app/theme/default_200_percent/common/webauthn/touchid.png
[rename] https://crrev.com/287620b732d28d23132a80729ba059277d1ca49c/chrome/app/theme/default_200_percent/common/webauthn/usb.png
[rename] https://crrev.com/287620b732d28d23132a80729ba059277d1ca49c/chrome/app/theme/default_200_percent/common/webauthn/welcome.png
[modify] https://crrev.com/287620b732d28d23132a80729ba059277d1ca49c/chrome/app/theme/theme_resources.grd
[modify] https://crrev.com/287620b732d28d23132a80729ba059277d1ca49c/chrome/browser/browser_resources.grd
[modify] https://crrev.com/287620b732d28d23132a80729ba059277d1ca49c/chrome/browser/ui/webauthn/sheet_models.cc

Project Member

Comment 35 by bugdroid1@chromium.org, Aug 30

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/262a14ce54d2abb2ea2fa7024483797bf0f30899

commit 262a14ce54d2abb2ea2fa7024483797bf0f30899
Author: Balazs Engedy <engedy@chromium.org>
Date: Thu Aug 30 12:26:49 2018

Introduce sticky post mortem states on WebAuthn UI.

After a timeout, as well as after activating the wrong key (not registered,
already registered), show an error sheet even after the promise is already
rejected.

Bug:  849323 
Change-Id: I08c7403a0fae9c5cf19b6f775f6845bd28e8c6ed
Reviewed-on: https://chromium-review.googlesource.com/1195371
Commit-Queue: Balazs Engedy <engedy@chromium.org>
Reviewed-by: Kim Paulhamus <kpaulhamus@chromium.org>
Reviewed-by: Martin Kreichgauer <martinkr@google.com>
Cr-Commit-Position: refs/heads/master@{#587528}
[modify] https://crrev.com/262a14ce54d2abb2ea2fa7024483797bf0f30899/chrome/browser/ui/views/webauthn/authenticator_dialog_view_browsertest.cc
[modify] https://crrev.com/262a14ce54d2abb2ea2fa7024483797bf0f30899/chrome/browser/ui/views/webauthn/authenticator_request_dialog_view.cc
[modify] https://crrev.com/262a14ce54d2abb2ea2fa7024483797bf0f30899/chrome/browser/ui/views/webauthn/sheet_view_factory.cc
[modify] https://crrev.com/262a14ce54d2abb2ea2fa7024483797bf0f30899/chrome/browser/ui/webauthn/authenticator_dialog_browsertest.cc
[modify] https://crrev.com/262a14ce54d2abb2ea2fa7024483797bf0f30899/chrome/browser/ui/webauthn/sheet_models.cc
[modify] https://crrev.com/262a14ce54d2abb2ea2fa7024483797bf0f30899/chrome/browser/ui/webauthn/sheet_models.h
[modify] https://crrev.com/262a14ce54d2abb2ea2fa7024483797bf0f30899/chrome/browser/webauthn/authenticator_request_dialog_model.cc
[modify] https://crrev.com/262a14ce54d2abb2ea2fa7024483797bf0f30899/chrome/browser/webauthn/authenticator_request_dialog_model.h
[modify] https://crrev.com/262a14ce54d2abb2ea2fa7024483797bf0f30899/chrome/browser/webauthn/authenticator_request_dialog_model_unittest.cc
[modify] https://crrev.com/262a14ce54d2abb2ea2fa7024483797bf0f30899/chrome/browser/webauthn/chrome_authenticator_request_delegate.cc
[modify] https://crrev.com/262a14ce54d2abb2ea2fa7024483797bf0f30899/chrome/browser/webauthn/chrome_authenticator_request_delegate.h

Project Member

Comment 36 by bugdroid1@chromium.org, Aug 30

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3c521cc25188cf4074aa802c0dc36b325a9e12ec

commit 3c521cc25188cf4074aa802c0dc36b325a9e12ec
Author: Balazs Engedy <engedy@chromium.org>
Date: Thu Aug 30 16:33:10 2018

WebAuthn: Option to turn on BLE/caBLE automatically/manually.

Add dialog sheets and the underlying logic to enable turning the BLE
adapter on automatically/manually in the WebAuthn dialogs.

This also necessitated adding some plumbing to:
 1) Allow sheet models to be mutable, as well as add notifications to
    trigger updating the dialog view state when the model changes.

 2) Notify sheet models when the Bluetooth adapter state changes.

Bug:  849323 
Change-Id: Id93b3d2fbae70daa0d8ff3609c4cca3c9d33d098
Reviewed-on: https://chromium-review.googlesource.com/1196371
Commit-Queue: Balazs Engedy <engedy@chromium.org>
Reviewed-by: Martin Kreichgauer <martinkr@google.com>
Cr-Commit-Position: refs/heads/master@{#587621}
[modify] https://crrev.com/3c521cc25188cf4074aa802c0dc36b325a9e12ec/chrome/browser/ui/views/webauthn/authenticator_dialog_view_browsertest.cc
[modify] https://crrev.com/3c521cc25188cf4074aa802c0dc36b325a9e12ec/chrome/browser/ui/views/webauthn/authenticator_request_dialog_view.cc
[modify] https://crrev.com/3c521cc25188cf4074aa802c0dc36b325a9e12ec/chrome/browser/ui/views/webauthn/authenticator_request_dialog_view.h
[modify] https://crrev.com/3c521cc25188cf4074aa802c0dc36b325a9e12ec/chrome/browser/ui/views/webauthn/authenticator_request_sheet_view.cc
[modify] https://crrev.com/3c521cc25188cf4074aa802c0dc36b325a9e12ec/chrome/browser/ui/views/webauthn/authenticator_request_sheet_view.h
[modify] https://crrev.com/3c521cc25188cf4074aa802c0dc36b325a9e12ec/chrome/browser/ui/views/webauthn/sheet_view_factory.cc
[modify] https://crrev.com/3c521cc25188cf4074aa802c0dc36b325a9e12ec/chrome/browser/ui/webauthn/sheet_models.cc
[modify] https://crrev.com/3c521cc25188cf4074aa802c0dc36b325a9e12ec/chrome/browser/ui/webauthn/sheet_models.h
[modify] https://crrev.com/3c521cc25188cf4074aa802c0dc36b325a9e12ec/chrome/browser/webauthn/authenticator_request_dialog_model.cc
[modify] https://crrev.com/3c521cc25188cf4074aa802c0dc36b325a9e12ec/chrome/browser/webauthn/authenticator_request_dialog_model.h
[modify] https://crrev.com/3c521cc25188cf4074aa802c0dc36b325a9e12ec/chrome/browser/webauthn/authenticator_request_dialog_model_unittest.cc

Project Member

Comment 37 by bugdroid1@chromium.org, Aug 30

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c9dfa644bc87398943c61696c47c3acfc331cf8b

commit c9dfa644bc87398943c61696c47c3acfc331cf8b
Author: Balazs Engedy <engedy@chromium.org>
Date: Thu Aug 30 19:39:14 2018

WebAuthn UI: Do not show back button on transport selection screen.

Bug:  849323 
Change-Id: I2383118ba5f8032f0443c315972c890683a71f81
Reviewed-on: https://chromium-review.googlesource.com/1197366
Reviewed-by: Balazs Engedy <engedy@chromium.org>
Reviewed-by: Jan Wilken Dörrie <jdoerrie@chromium.org>
Commit-Queue: Balazs Engedy <engedy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#587712}
[modify] https://crrev.com/c9dfa644bc87398943c61696c47c3acfc331cf8b/chrome/browser/ui/webauthn/sheet_models.cc
[modify] https://crrev.com/c9dfa644bc87398943c61696c47c3acfc331cf8b/chrome/browser/ui/webauthn/sheet_models.h
[modify] https://crrev.com/c9dfa644bc87398943c61696c47c3acfc331cf8b/chrome/browser/webauthn/authenticator_request_dialog_model.cc

Project Member

Comment 38 by bugdroid1@chromium.org, Aug 30

Project Member

Comment 39 by bugdroid1@chromium.org, Aug 31

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/40af0c2e979bc8e2f3acd16841ee695b1384f707

commit 40af0c2e979bc8e2f3acd16841ee695b1384f707
Author: Martin Kreichgauer <martinkr@google.com>
Date: Fri Aug 31 16:12:44 2018

webauthn: fix to transport selection when no internal credential is available

This addresses an issue with GetAssertion requests for a credential in
the Touch ID authenticator that does not/no longer exist on the current
machine. Currently in this case, the UI will never consider kInternal as
a candidate transport. It follows that if there is only one other
transport available, the UI will advance straight to that transport. It
should instead proceed to transport selection (unless there is a last
used transport preference that would take precedence).

Bug: 879525, 849323 
Change-Id: I9602fdc7c68f4dc0ba391b6e3b6a007edbb9c6de
Reviewed-on: https://chromium-review.googlesource.com/1199324
Commit-Queue: Martin Kreichgauer <martinkr@google.com>
Reviewed-by: Balazs Engedy <engedy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#588046}
[modify] https://crrev.com/40af0c2e979bc8e2f3acd16841ee695b1384f707/chrome/browser/webauthn/authenticator_request_dialog_model.cc
[modify] https://crrev.com/40af0c2e979bc8e2f3acd16841ee695b1384f707/chrome/browser/webauthn/authenticator_request_dialog_model_unittest.cc

Project Member

Comment 40 by bugdroid1@chromium.org, Sep 14

Labels: merge-merged-3538
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/dba8c5970c9774a5ed36980516fd7f7dbe2b9128

commit dba8c5970c9774a5ed36980516fd7f7dbe2b9128
Author: Martin Kreichgauer <martinkr@google.com>
Date: Fri Sep 14 20:20:37 2018

[M70] webauthn: fix to transport selection when no internal credential is available

This addresses an issue with GetAssertion requests for a credential in
the Touch ID authenticator that does not/no longer exist on the current
machine. Currently in this case, the UI will never consider kInternal as
a candidate transport. It follows that if there is only one other
transport available, the UI will advance straight to that transport. It
should instead proceed to transport selection (unless there is a last
used transport preference that would take precedence).

Bug: 879525, 849323 
Change-Id: I9602fdc7c68f4dc0ba391b6e3b6a007edbb9c6de
Reviewed-on: https://chromium-review.googlesource.com/1199324
Commit-Queue: Martin Kreichgauer <martinkr@google.com>
Reviewed-by: Balazs Engedy <engedy@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#588046}(cherry picked from commit 40af0c2e979bc8e2f3acd16841ee695b1384f707)
Reviewed-on: https://chromium-review.googlesource.com/1225098
Cr-Commit-Position: refs/branch-heads/3538@{#421}
Cr-Branched-From: 79f7c91a2b2a2932cd447fa6f865cb6662fa8fa6-refs/heads/master@{#587811}
[modify] https://crrev.com/dba8c5970c9774a5ed36980516fd7f7dbe2b9128/chrome/browser/webauthn/authenticator_request_dialog_model.cc
[modify] https://crrev.com/dba8c5970c9774a5ed36980516fd7f7dbe2b9128/chrome/browser/webauthn/authenticator_request_dialog_model_unittest.cc

Status: Fixed (was: Started)

Sign in to add a comment