electron/shell/browser
matthewloft 4935fd2422
fix: WebAuthn Discoverable Credential (Resident Credential) (#35374)
* fix: WebAuthn Discoverable Credential (Resident Credential) #33353

Enables support for Webauthn discoverable credentials (aka resident
credentials). This allows users to authenticate without first having to
select or type a username.

To decide if discoverable credentials are supported, the class
'AuthenticatorCommon', in the chrome content code, indirectly calls the
method 'context::WebAuthenticationDelegate.SupportsResidentKeys(..)'.
The default implementation of this returns false, leaving it up to
specific implementations to override.

This change adds a new class 'ElectronWebAuthenticationDelegate' to
subclass 'WebAuthenticationDelegate' and override the behaviour of the
'SupportsResidentKeys' method to return true.
The implementation is copied from the Chrome browser equivalent
'ChromeWebAuthenticationDelegate', though the chrome class includes
other methods that don't seem to be required for this functionality.

The 'ElectronContentClient' class was also updated to store an instance
of 'ElectronWebAuthenticationDelegate', and to provide an accessor
method, GetWebAuthenticationDelegate().

* Remove redundant, commented-out code

* style: comment cleanup

* style: updated comments and formatting based on pull request review

* style: fix lint error on header guard clause
2022-09-20 15:47:42 -07:00
..
api feat: add webContents.close() (#35509) 2022-09-16 16:22:59 -07:00
badging chore: add ELECTRON_ prefix to C++ include guards (#31925) 2021-11-22 16:34:31 +09:00
bluetooth chore: bump chromium to 106.0.5216.0 (main) (#34993) 2022-08-17 11:35:53 -07:00
extensions chore: bump chromium to 107.0.5286.0 (main) (#35590) 2022-09-08 16:23:08 -07:00
hid chore: bump chromium to 106.0.5216.0 (main) (#34993) 2022-08-17 11:35:53 -07:00
lib chore: fix spelling errors in multiple files (#34574) 2022-06-16 16:46:11 +09:00
linux chore: add ELECTRON_ prefix to C++ include guards (#31925) 2021-11-22 16:34:31 +09:00
mac chore: bump chromium to 107.0.5274.0 (main) (#35375) 2022-09-07 09:46:37 +02:00
media refactor: unduplicate MediaStreamDevicesController (#34895) 2022-07-20 17:09:14 +09:00
net chore: bump chromium to 107.0.5274.0 (main) (#35375) 2022-09-07 09:46:37 +02:00
notifications chore: bump chromium to 107.0.5274.0 (main) (#35375) 2022-09-07 09:46:37 +02:00
osr chore: bump chromium to 107.0.5274.0 (main) (#35375) 2022-09-07 09:46:37 +02:00
plugins chore: bump chromium to 98.0.4706.0 (main) (#31555) 2021-11-24 09:45:59 +01:00
printing chore: bump chromium to 107.0.5274.0 (main) (#35375) 2022-09-07 09:46:37 +02:00
resources Bump v22.0.0-nightly.20220920 2022-09-20 06:01:49 -07:00
serial chore: fix ambiguous reference gcc compile error (#35714) 2022-09-19 17:05:24 -05:00
ui fix: edge case in app.isInApplicationsFolder() (#35636) 2022-09-19 14:19:49 -04:00
webauthn fix: WebAuthn Discoverable Credential (Resident Credential) (#35374) 2022-09-20 15:47:42 -07:00
win chore: used nested namespaces (#34737) 2022-06-29 12:55:47 -07:00
auto_updater.cc chore: bump chromium to 100.0.4857.0 (main) (#32419) 2022-02-09 18:58:52 -08:00
auto_updater.h chore: add ELECTRON_ prefix to C++ include guards (#31925) 2021-11-22 16:34:31 +09:00
auto_updater_mac.mm chore: fix typos (#32985) 2022-02-21 10:27:45 +01:00
browser.cc chore: modernize ListValue usage in dict_util.mm and related files (#34661) 2022-06-23 15:28:41 +09:00
browser.h chore: modernize Value usage in converters (#34794) 2022-07-05 11:25:18 -04:00
browser_linux.cc chore: modernize Value usage in converters (#34794) 2022-07-05 11:25:18 -04:00
browser_mac.mm refactor: simplify Browser::SetLoginItemSettings (#35303) 2022-08-15 09:44:23 +09:00
browser_observer.h chore: modernize ListValue usage in dict_util.mm and related files (#34661) 2022-06-23 15:28:41 +09:00
browser_process_impl.cc feat: allow customizing browser data location (#33554) 2022-05-09 10:26:57 -04:00
browser_process_impl.h chore: bump chromium to 100.0.4894.0 (main) (#32852) 2022-02-25 13:17:35 -05:00
browser_win.cc chore: modernize Value usage in converters (#34794) 2022-07-05 11:25:18 -04:00
certificate_manager_model.cc chore: bump chromium to 103.0.5046.0 (main) (#33906) 2022-05-17 12:48:40 -04:00
certificate_manager_model.h chore: add ELECTRON_ prefix to C++ include guards (#31925) 2021-11-22 16:34:31 +09:00
child_web_contents_tracker.cc chore: bump chromium to 99.0.4767.0 (main) (#31986) 2022-01-10 17:31:39 -05:00
child_web_contents_tracker.h chore: add ELECTRON_ prefix to C++ include guards (#31925) 2021-11-22 16:34:31 +09:00
cookie_change_notifier.cc
cookie_change_notifier.h chore: add ELECTRON_ prefix to C++ include guards (#31925) 2021-11-22 16:34:31 +09:00
electron_api_ipc_handler_impl.cc fix: ensure ElectronBrowser mojo service is only bound to appropriate render frames (#33323) 2022-03-18 19:50:05 -07:00
electron_api_ipc_handler_impl.h fix: build when pdf component is disabled (#33513) 2022-03-30 11:55:38 -07:00
electron_autofill_driver.cc chore: remove spurious trailing namespace comments (#34732) 2022-06-28 10:08:55 +02:00
electron_autofill_driver.h chore: add ELECTRON_ prefix to C++ include guards (#31925) 2021-11-22 16:34:31 +09:00
electron_autofill_driver_factory.cc chore: bump chromium to 105.0.5129.0 (main) (#34403) 2022-06-27 15:50:08 -05:00
electron_autofill_driver_factory.h chore: add ELECTRON_ prefix to C++ include guards (#31925) 2021-11-22 16:34:31 +09:00
electron_browser_client.cc fix: WebAuthn Discoverable Credential (Resident Credential) (#35374) 2022-09-20 15:47:42 -07:00
electron_browser_client.h fix: WebAuthn Discoverable Credential (Resident Credential) (#35374) 2022-09-20 15:47:42 -07:00
electron_browser_context.cc chore: bump chromium to 107.0.5286.0 (main) (#35590) 2022-09-08 16:23:08 -07:00
electron_browser_context.h chore: bump chromium to 107.0.5286.0 (main) (#35590) 2022-09-08 16:23:08 -07:00
electron_browser_main_parts.cc chore: move dark mode activation to main_win.cc (#35529) 2022-09-07 09:39:35 -07:00
electron_browser_main_parts.h fix: add support for --ozone-platform-hint flag on Linux (#34937) 2022-07-21 10:37:54 +02:00
electron_browser_main_parts_linux.cc fix: add support for --ozone-platform-hint flag on Linux (#34937) 2022-07-21 10:37:54 +02:00
electron_browser_main_parts_mac.mm
electron_browser_main_parts_posix.cc chore: bump chromium to 103.0.5046.0 (main) (#33906) 2022-05-17 12:48:40 -04:00
electron_download_manager_delegate.cc fix: remove extra dot in extension (#35618) 2022-09-13 11:47:04 -07:00
electron_download_manager_delegate.h chore: add ELECTRON_ prefix to C++ include guards (#31925) 2021-11-22 16:34:31 +09:00
electron_gpu_client.cc chore: bump chromium to 100.0.4857.0 (main) (#32419) 2022-02-09 18:58:52 -08:00
electron_gpu_client.h chore: add ELECTRON_ prefix to C++ include guards (#31925) 2021-11-22 16:34:31 +09:00
electron_javascript_dialog_manager.cc chore: bump chromium to 98.0.4706.0 (main) (#31555) 2021-11-24 09:45:59 +01:00
electron_javascript_dialog_manager.h chore: add ELECTRON_ prefix to C++ include guards (#31925) 2021-11-22 16:34:31 +09:00
electron_navigation_throttle.cc
electron_navigation_throttle.h chore: add ELECTRON_ prefix to C++ include guards (#31925) 2021-11-22 16:34:31 +09:00
electron_pdf_web_contents_helper_client.cc chore: bump chromium to 105.0.5129.0 (main) (#34403) 2022-06-27 15:50:08 -05:00
electron_pdf_web_contents_helper_client.h chore: bump chromium to 100.0.4857.0 (main) (#32419) 2022-02-09 18:58:52 -08:00
electron_permission_manager.cc chore: bump chromium to 107.0.5274.0 (main) (#35375) 2022-09-07 09:46:37 +02:00
electron_permission_manager.h chore: bump chromium to 107.0.5274.0 (main) (#35375) 2022-09-07 09:46:37 +02:00
electron_quota_permission_context.cc
electron_quota_permission_context.h chore: add ELECTRON_ prefix to C++ include guards (#31925) 2021-11-22 16:34:31 +09:00
electron_speech_recognition_manager_delegate.cc
electron_speech_recognition_manager_delegate.h chore: add ELECTRON_ prefix to C++ include guards (#31925) 2021-11-22 16:34:31 +09:00
electron_web_contents_utility_handler_impl.cc fix: ensure ElectronBrowser mojo service is only bound to appropriate render frames (#33323) 2022-03-18 19:50:05 -07:00
electron_web_contents_utility_handler_impl.h fix: build when pdf component is disabled (#33513) 2022-03-30 11:55:38 -07:00
electron_web_ui_controller_factory.cc
electron_web_ui_controller_factory.h chore: add ELECTRON_ prefix to C++ include guards (#31925) 2021-11-22 16:34:31 +09:00
event_emitter_mixin.cc chore: used nested namespaces (#34737) 2022-06-29 12:55:47 -07:00
event_emitter_mixin.h chore: stop using v8::Locker everywhere (#34078) 2022-05-05 11:50:21 -07:00
extended_web_contents_observer.h chore: add ELECTRON_ prefix to C++ include guards (#31925) 2021-11-22 16:34:31 +09:00
fake_location_provider.cc
fake_location_provider.h chore: add ELECTRON_ prefix to C++ include guards (#31925) 2021-11-22 16:34:31 +09:00
feature_list.cc chore: bump chromium to 100.0.4857.0 (main) (#32419) 2022-02-09 18:58:52 -08:00
feature_list.h chore: add ELECTRON_ prefix to C++ include guards (#31925) 2021-11-22 16:34:31 +09:00
file_select_helper.cc chore: use //chrome resources directly (#33626) 2022-04-06 09:34:35 -07:00
file_select_helper.h chore: bump chromium to 100.0.4857.0 (main) (#32419) 2022-02-09 18:58:52 -08:00
file_select_helper_mac.mm
font_defaults.cc chore: bump chromium to 102.0.4961.0 (main) (#33091) 2022-03-24 21:39:03 -04:00
font_defaults.h chore: add ELECTRON_ prefix to C++ include guards (#31925) 2021-11-22 16:34:31 +09:00
javascript_environment.cc chore: bump chromium to 105.0.5187.0 (main) (#34921) 2022-07-20 13:03:34 +02:00
javascript_environment.h chore: add ELECTRON_ prefix to C++ include guards (#31925) 2021-11-22 16:34:31 +09:00
login_handler.cc
login_handler.h chore: add ELECTRON_ prefix to C++ include guards (#31925) 2021-11-22 16:34:31 +09:00
microtasks_runner.cc chore: bump chromium to 107.0.5274.0 (main) (#35375) 2022-09-07 09:46:37 +02:00
microtasks_runner.h chore: add ELECTRON_ prefix to C++ include guards (#31925) 2021-11-22 16:34:31 +09:00
native_browser_view.cc
native_browser_view.h chore: add ELECTRON_ prefix to C++ include guards (#31925) 2021-11-22 16:34:31 +09:00
native_browser_view_mac.h chore: add ELECTRON_ prefix to C++ include guards (#31925) 2021-11-22 16:34:31 +09:00
native_browser_view_mac.mm fix: compensate for title bar height when setting bounds on BrowserView (#34713) 2022-08-29 17:53:03 +02:00
native_browser_view_views.cc chore: fix BrowserView painting when origin updated (#34581) 2022-06-20 13:31:53 +09:00
native_browser_view_views.h chore: add ELECTRON_ prefix to C++ include guards (#31925) 2021-11-22 16:34:31 +09:00
native_window.cc chore: bump chromium to 107.0.5274.0 (main) (#35375) 2022-09-07 09:46:37 +02:00
native_window.h fix: DCHECK entering fullscreen while loading url (#35111) 2022-08-01 16:52:58 -04:00
native_window_features.cc fix: Add support for Wayland window decorations (#29618) 2022-01-26 13:59:09 -08:00
native_window_features.h fix: Add support for Wayland window decorations (#29618) 2022-01-26 13:59:09 -08:00
native_window_mac.h fix: update normal bounds prior to minimizing (#34473) 2022-06-09 10:48:50 +02:00
native_window_mac.mm fix: fullscreen crashing with roundedCorners: false (#35421) 2022-08-25 13:39:01 +02:00
native_window_observer.h chore: modernize Value usage in converters (#34794) 2022-07-05 11:25:18 -04:00
native_window_views.cc fix: Frameless window shows frame while opening (#35189) 2022-08-16 14:22:47 -07:00
native_window_views.h fix: handle WCO pressed state when going maximized -> minimized (#35070) 2022-07-26 13:30:15 -04:00
native_window_views_win.cc fix: add restore event for minimized maximization (#35342) 2022-08-23 10:32:42 +09:00
network_hints_handler_impl.cc
network_hints_handler_impl.h chore: add ELECTRON_ prefix to C++ include guards (#31925) 2021-11-22 16:34:31 +09:00
protocol_registry.cc chore: bump chromium to 100.0.4857.0 (main) (#32419) 2022-02-09 18:58:52 -08:00
protocol_registry.h chore: add ELECTRON_ prefix to C++ include guards (#31925) 2021-11-22 16:34:31 +09:00
relauncher.cc chore: bump chromium to 100.0.4857.0 (main) (#32419) 2022-02-09 18:58:52 -08:00
relauncher.h chore: bump chromium to 100.0.4857.0 (main) (#32419) 2022-02-09 18:58:52 -08:00
relauncher_linux.cc chore: used nested namespaces (#34737) 2022-06-29 12:55:47 -07:00
relauncher_mac.cc chore: used nested namespaces (#34737) 2022-06-29 12:55:47 -07:00
relauncher_win.cc chore: used nested namespaces (#34737) 2022-06-29 12:55:47 -07:00
session_preferences.cc
session_preferences.h chore: add ELECTRON_ prefix to C++ include guards (#31925) 2021-11-22 16:34:31 +09:00
special_storage_policy.cc chore: bump chromium to 106.0.5216.0 (main) (#34993) 2022-08-17 11:35:53 -07:00
special_storage_policy.h chore: bump chromium to 106.0.5216.0 (main) (#34993) 2022-08-17 11:35:53 -07:00
web_contents_permission_helper.cc fix: pass rfh instances through to the permission helper (#35419) 2022-08-26 12:31:33 +02:00
web_contents_permission_helper.h fix: pass rfh instances through to the permission helper (#35419) 2022-08-26 12:31:33 +02:00
web_contents_preferences.cc refactor: only create webContents after 'will-attach-webview' (#32941) 2022-07-21 11:29:31 +02:00
web_contents_preferences.h refactor: only create webContents after 'will-attach-webview' (#32941) 2022-07-21 11:29:31 +02:00
web_contents_zoom_controller.cc chore: bump chromium to 105.0.5129.0 (main) (#34403) 2022-06-27 15:50:08 -05:00
web_contents_zoom_controller.h chore: bump chromium to 100.0.4894.0 (main) (#32852) 2022-02-25 13:17:35 -05:00
web_view_guest_delegate.cc chore: bump chromium to 107.0.5274.0 (main) (#35375) 2022-09-07 09:46:37 +02:00
web_view_guest_delegate.h chore: bump chromium to 107.0.5274.0 (main) (#35375) 2022-09-07 09:46:37 +02:00
web_view_manager.cc
web_view_manager.h chore: add ELECTRON_ prefix to C++ include guards (#31925) 2021-11-22 16:34:31 +09:00
window_list.cc fix: DCHECK when calling app.exit() (#33035) 2022-02-23 16:27:54 +01:00
window_list.h chore: add ELECTRON_ prefix to C++ include guards (#31925) 2021-11-22 16:34:31 +09:00
window_list_observer.h chore: add ELECTRON_ prefix to C++ include guards (#31925) 2021-11-22 16:34:31 +09:00
zoom_level_delegate.cc chore: bump chromium to 107.0.5274.0 (main) (#35375) 2022-09-07 09:46:37 +02:00
zoom_level_delegate.h chore: bump chromium to 107.0.5274.0 (main) (#35375) 2022-09-07 09:46:37 +02:00