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 chore: trim unused STL includes (#29414) 2021-06-01 10:34:44 +09:00
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 fix: geolocation crashes electron on macOS (#29343) (#29913) 2021-06-28 20:26:57 -07:00
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 refactor: wire will-navigate up to a navigation throttle instead of OpenURL (#25065) 2020-08-21 12:34:09 -07:00
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 chore: clean up forward declarations (#29904) 2021-07-02 09:51:37 +09:00
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 chore: trim unused STL includes (#29414) 2021-06-01 10:34:44 +09:00
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 chore: clean up forward declarations (#29904) 2021-07-02 09:51:37 +09:00
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 refactor: rename the atom namespace to electron 2019-06-19 17:33:28 -07:00
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 fix: transparently package bundles as zip archives (#25030) 2020-10-27 17:05:28 -07:00
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 fix: crash when invoking login callback synchronously (#30068) 2021-07-12 12:33:41 -07:00
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 chore: trim unused STL includes (#29414) 2021-06-01 10:34:44 +09:00
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 refactor: ginify Session (#23569) 2020-05-19 10:18:12 -07:00
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 chore: clean up forward declarations (#29904) 2021-07-02 09:51:37 +09:00
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 refactor: remove guestInstanceId from WebPreferences (#30280) 2021-07-28 15:32:53 -07:00
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