electron/shell/browser
arno renevier 81bdba67ec
feat: Implement password delegate for NSS (#41205)
* feat: Implement password delegate for NSS (#41188)

Introduce an app event client-certificate-request-password. It allows
the user to display a UI to prompt for the password.

An alternative would have been to implement a class similar to
CryptoModulePasswordDialogView, to provide the UI. This might have been
simpler for the user, comparing to letting them implement the UI. But it
seems like electron does not have an i18n framework, so it's not
possible to provide a locale aware UI.

* fix lint:markdown error

* address review comments

* use a trampoline handler in JS. The api exposed is now app.setClientCertRequestPasswordHandler
* use properties on the Event object instead of positional parameters
* remove ChromeNSSCryptoModuleDelegate::OnPassword in favor of args->GetNext(&password_)

* address review comments second round

- backslash escape parametrized TypeScript
- rename hostName param to hostname
- use base::ScopedAllowBaseSyncPrimitivesForTesting
- and then, rename ChromeNSSCryptoModuleDelegate to ElectronNSSCryptoModuleDelegate

* Update docs/api/app.md

Co-authored-by: Sam Maddock <samuel.maddock@gmail.com>

* Update docs/api/app.md

Co-authored-by: Erick Zhao <erick@hotmail.ca>

---------

Co-authored-by: Arno Renevier <arnaud@switchboard.app>
Co-authored-by: Sam Maddock <samuel.maddock@gmail.com>
Co-authored-by: Erick Zhao <erick@hotmail.ca>
2024-07-17 09:48:03 -04:00
..
api feat: customize border radius of Views (#42320) 2024-07-16 20:16:25 -04:00
badging refactor: prefer using `base::NoDestructor` to `base::{Singleton,LazyInstance}` (#41400) 2024-02-23 10:35:20 +01:00
bluetooth chore: replace absl::optional<T> with std::optional<T> (#40928) 2024-01-10 16:23:35 -06:00
extensions fix: multiple move() calls on the same unique_ptr (#42788) 2024-07-08 11:04:35 -04:00
file_system_access fix: File System Access API should remember last picked directory (#42850) 2024-07-14 18:43:37 +02:00
hid fix: iteration issues in hid `RevokeEphemeralDevicePermission` (#42851) 2024-07-15 10:41:38 -04:00
lib fix: crash using `powerMonitor` before ready event (#40888) 2024-01-09 09:41:42 +01:00
linux fix: don't check for Desktop Environment in unity_service.cc (#41211) 2024-04-19 09:58:32 -04:00
mac fix: restore `wasOpenedAtLogin` functionality (#42411) 2024-06-10 09:39:56 -05:00
media chore: bump chromium to 124.0.6323.0 (main) (#41412) 2024-02-29 10:31:13 +01:00
net fix: crash when resolving proxy due to network service restart (#42878) 2024-07-15 17:46:24 +09:00
notifications chore: add/fix interface comments for sections of methods (#42566) 2024-06-20 10:49:07 +02:00
osr fix: crash with creating OffScreenWebContentsView (#42920) 2024-07-17 13:09:32 +02:00
plugins fix: failing build with `enable_electron_extensions=false` (#40032) 2023-10-04 10:40:01 +02:00
printing chore: delete unused PrintPreviewMessageHandler (#41841) 2024-04-15 11:34:56 -04:00
resources chore: strip trailing whitespace (#35969) 2023-02-01 12:59:16 +01:00
serial chore: add/fix interface comments for sections of methods (#42566) 2024-06-20 10:49:07 +02:00
ui feat: customize border radius of Views (#42320) 2024-07-16 20:16:25 -04:00
usb fix: don't observe WebUSB for in-memory partitions (#42443) 2024-06-12 10:59:04 -05:00
webauthn chore: add/fix interface comments for sections of methods (#42566) 2024-06-20 10:49:07 +02:00
win fix: initial dark mode title bar on Windows 10 (#39287) 2023-07-31 22:02:23 -07:00
animation_util.h feat: replace BrowserView with WebContentsView (#35658) 2023-12-13 13:01:03 -08:00
animation_util_mac.mm feat: replace BrowserView with WebContentsView (#35658) 2023-12-13 13:01:03 -08:00
auto_updater.cc feat: add new ElectronSquirrelPreventDowngrades flag (#38625) 2023-09-11 11:54:51 -07:00
auto_updater.h feat: add new ElectronSquirrelPreventDowngrades flag (#38625) 2023-09-11 11:54:51 -07:00
auto_updater_mac.mm chore: bump chromium to 120.0.6099.0 (main) (#40316) 2023-11-01 10:02:12 -04:00
background_throttling_source.h fix: disable background throttling also in the `viz::DisplayScheduler` (#38924) 2023-09-26 16:00:46 -04:00
browser.cc fix: `app.setLoginItemSettings` error getting swallowed by gin conversion (#41647) 2024-03-22 09:00:21 -04:00
browser.h fix: restore `wasOpenedAtLogin` functionality (#42411) 2024-06-10 09:39:56 -05:00
browser_linux.cc refactor: move impl classes into unnamed namespaces (#42390) 2024-06-10 17:00:20 -05:00
browser_mac.mm fix: restore `wasOpenedAtLogin` functionality (#42411) 2024-06-10 09:39:56 -05:00
browser_observer.h chore: fix some typos (#40506) 2023-11-12 19:51:56 -08:00
browser_process_impl.cc fix: crash when resolving proxy due to network service restart (#42878) 2024-07-15 17:46:24 +09:00
browser_process_impl.h chore: add/fix interface comments for sections of methods (#42566) 2024-06-20 10:49:07 +02:00
browser_win.cc fix: `app.setLoginItemSettings` error getting swallowed by gin conversion (#41647) 2024-03-22 09:00:21 -04:00
certificate_manager_model.cc refactor: remove deprecated BrowserContext::ResourceContext (#41221) 2024-02-05 18:12:34 -06:00
certificate_manager_model.h refactor: remove deprecated BrowserContext::ResourceContext (#41221) 2024-02-05 18:12:34 -06: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: bump chromium to 111.0.5544.3 (main) (#36820) 2023-02-03 12:43:42 +01:00
cookie_change_notifier.h refactor: prefer to inherit observer classes privately (#41360) 2024-05-21 14:21:31 -05:00
draggable_region_provider.h refactor: move draggable regions to WebContents (#36230) 2022-11-07 10:15:57 -08:00
electron_api_ipc_handler_impl.cc chore: remove deprecated `ipcRenderer.sendTo()` (#39087) 2023-08-28 10:29:27 -04:00
electron_api_ipc_handler_impl.h refactor: inherit Observer classes privately, pt. 2 (#42237) 2024-05-29 13:07:02 -05:00
electron_autofill_driver.cc feat: replace BrowserView with WebContentsView (#35658) 2023-12-13 13:01:03 -08:00
electron_autofill_driver.h chore: add/fix interface comments for sections of methods (#42566) 2024-06-20 10:49:07 +02:00
electron_autofill_driver_factory.cc chore: remove unused std includes (#38767) 2023-06-14 11:07:18 -07:00
electron_autofill_driver_factory.h refactor: prefer to inherit observer classes privately (#41360) 2024-05-21 14:21:31 -05:00
electron_browser_client.cc feat: Implement password delegate for NSS (#41205) 2024-07-17 09:48:03 -04:00
electron_browser_client.h chore: bump chromium to 127.0.6521.0 (main) (#42118) 2024-06-07 17:18:35 -04:00
electron_browser_context.cc fix: crash when resolving proxy due to network service restart (#42878) 2024-07-15 17:46:24 +09:00
electron_browser_context.h refactor: minor electron browser context cleanup (#42789) 2024-07-08 16:49:41 +02:00
electron_browser_main_parts.cc refactor: run Windows `SelectFileDialog` out of process (#42758) 2024-07-05 11:36:44 +02:00
electron_browser_main_parts.h chore: replace absl::optional<T> with std::optional<T> (#40928) 2024-01-10 16:23:35 -06:00
electron_browser_main_parts_linux.cc refactor: move impl classes into unnamed namespaces (#42390) 2024-06-10 17:00:20 -05:00
electron_browser_main_parts_mac.mm chore: bump chromium to 125.0.6412.0 (main) (#41610) 2024-04-15 18:10:32 -04:00
electron_browser_main_parts_posix.cc chore: bump chromium to 127.0.6521.0 (main) (#42118) 2024-06-07 17:18:35 -04:00
electron_crypto_module_delegate_nss.cc feat: Implement password delegate for NSS (#41205) 2024-07-17 09:48:03 -04:00
electron_crypto_module_delegate_nss.h feat: Implement password delegate for NSS (#41205) 2024-07-17 09:48:03 -04:00
electron_download_manager_delegate.cc chore: bump chromium to 122.0.6261.6 (main) (#40949) 2024-01-25 12:46:30 -05:00
electron_download_manager_delegate.h chore: bump chromium to 122.0.6261.6 (main) (#40949) 2024-01-25 12:46:30 -05: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_navigation_throttle.cc chore: bump chromium to 127.0.6521.0 (main) (#42118) 2024-06-07 17:18:35 -04:00
electron_navigation_throttle.h chore: add/fix interface comments for sections of methods (#42566) 2024-06-20 10:49:07 +02:00
electron_pdf_document_helper_client.cc chore: bump chromium to 125.0.6412.0 (main) (#41610) 2024-04-15 18:10:32 -04:00
electron_pdf_document_helper_client.h chore: bump chromium to 125.0.6412.0 (main) (#41610) 2024-04-15 18:10:32 -04:00
electron_permission_manager.cc chore: bump chromium to 127.0.6521.0 (main) (#42118) 2024-06-07 17:18:35 -04:00
electron_permission_manager.h chore: bump chromium to 127.0.6521.0 (main) (#42118) 2024-06-07 17:18:35 -04:00
electron_speech_recognition_manager_delegate.cc refactor: do not subclass ElectronSpeechRecognitionManagerDelegate from SpeechRecognitionEventListener (#42806) 2024-07-10 15:32:50 +02:00
electron_speech_recognition_manager_delegate.h refactor: do not subclass ElectronSpeechRecognitionManagerDelegate from SpeechRecognitionEventListener (#42806) 2024-07-10 15:32:50 +02:00
electron_web_contents_utility_handler_impl.cc chore: bump chromium to 125.0.6412.0 (main) (#41610) 2024-04-15 18:10:32 -04:00
electron_web_contents_utility_handler_impl.h refactor: inherit Observer classes privately, pt. 2 (#42237) 2024-05-29 13:07:02 -05: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.h chore: migrate base::StringPiece to std::string_view (#40915) 2024-01-10 19:00:37 -06:00
extended_web_contents_observer.h chore: bump chromium to 125.0.6412.0 (main) (#41610) 2024-04-15 18:10:32 -04:00
fake_location_provider.cc chore: bump chromium to 116.0.5845.0 (main) (#38827) 2023-06-22 10:51:15 +02:00
fake_location_provider.h chore: bump chromium to 116.0.5845.0 (main) (#38827) 2023-06-22 10:51:15 +02:00
feature_list.cc chore: bump chromium to 128.0.6558.0 (main) (#42413) 2024-07-02 09:51:33 +02:00
feature_list.h fix: use ScreenCaptureKit exclusively on macOS 14.4 and higher (#41397) 2024-02-21 12:59:49 -08:00
feature_list_mac.mm build: work around ScreenCaptureKit bad feature flag parsing in Chromium (#41622) 2024-03-19 10:49:41 +01:00
file_select_helper.cc chore: bump chromium to 122.0.6236.2 (main) (#40871) 2024-01-11 19:33:40 +13:00
file_select_helper.h refactor: inherit Observer classes privately, pt. 2 (#42237) 2024-05-29 13:07:02 -05:00
file_select_helper_mac.mm refactor: replace remaining `NULL` with `nullptr` (#40053) 2023-10-03 12:26:35 -07:00
font_defaults.cc perf: use fixed-size arrays for the font cache (#40898) 2024-01-08 10:31:02 +01:00
font_defaults.h chore: add ELECTRON_ prefix to C++ include guards (#31925) 2021-11-22 16:34:31 +09:00
javascript_environment.cc fix: bad js-flags shouldn't crash the app (#42414) 2024-06-11 08:32:16 -05:00
javascript_environment.h refactor: remove unused fields, methods in gin_helper::Locker (#39803) 2023-09-12 16:53:20 -07:00
login_handler.cc chore: replace absl::optional<T> with std::optional<T> (#40928) 2024-01-10 16:23:35 -06:00
login_handler.h refactor: inherit Observer classes privately, pt. 2 (#42237) 2024-05-29 13:07:02 -05:00
microtasks_runner.cc chore: fix some typos (#40506) 2023-11-12 19:51:56 -08:00
microtasks_runner.h chore: enable check raw ptr fields (#38167) 2023-05-11 16:07:39 -04:00
native_window.cc feat: enable Windows Control Overlay on Linux (#41769) 2024-06-27 14:56:36 +02:00
native_window.h feat: enable Windows Control Overlay on Linux (#41769) 2024-06-27 14:56:36 +02:00
native_window_features.cc chore: bump chromium to 127.0.6521.0 (main) (#42118) 2024-06-07 17:18:35 -04: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: do not activate app when showing a panel on Mac (#41750) 2024-04-12 14:27:59 +02:00
native_window_mac.mm chore: bump chromium to 127.0.6521.0 (main) (#42118) 2024-06-07 17:18:35 -04:00
native_window_observer.h feat: replace scroll-touch* with generic input-event (#35531) 2022-09-27 12:47:46 -07:00
native_window_views.cc feat: enable Windows Control Overlay on Linux (#41769) 2024-06-27 14:56:36 +02:00
native_window_views.h feat: enable Windows Control Overlay on Linux (#41769) 2024-06-27 14:56:36 +02:00
native_window_views_win.cc refactor: replace remaining `NULL` with `nullptr` (#40053) 2023-10-03 12:26:35 -07:00
network_hints_handler_impl.cc chore: bump chromium to 113.0.5636.0 (main) (#37130) 2023-03-10 10:07:42 -06:00
network_hints_handler_impl.h chore: enable check raw ptr fields (#38167) 2023-05-11 16:07:39 -04:00
protocol_registry.cc perf: avoid protocol registry redundant lookup (#41991) 2024-05-09 09:53:09 -04:00
protocol_registry.h perf: avoid protocol registry redundant lookup (#41991) 2024-05-09 09:53:09 -04:00
relauncher.cc refactor: replace remaining `NULL` with `nullptr` (#40053) 2023-10-03 12:26:35 -07: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 refactor: replace remaining `NULL` with `nullptr` (#40053) 2023-10-03 12:26:35 -07:00
relauncher_win.cc chore: bump chromium to 128.0.6558.0 (main) (#42413) 2024-07-02 09:51:33 +02:00
session_preferences.cc refactor: add SessionPreferences::CreateForBrowserContext() (#38656) 2023-06-09 11:20:43 -05:00
session_preferences.h refactor: add SessionPreferences::CreateForBrowserContext() (#38656) 2023-06-09 11:20:43 -05:00
special_storage_policy.cc chore: bump chromium to 111.0.5544.3 (main) (#36820) 2023-02-03 12:43:42 +01: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: `getUserMedia` needs macOS system permissions check (#42899) 2024-07-17 11:30:05 +02:00
web_contents_permission_helper.h feat: implement File System API support (#41419) 2024-04-10 22:06:47 +02:00
web_contents_preferences.cc chore: bump chromium to 126.0.6445.0 (main) (#41868) 2024-05-10 11:21:10 -04:00
web_contents_preferences.h chore: bump chromium to 126.0.6445.0 (main) (#41868) 2024-05-10 11:21:10 -04:00
web_contents_zoom_controller.cc chore: bump chromium to 128.0.6558.0 (main) (#42413) 2024-07-02 09:51:33 +02:00
web_contents_zoom_controller.h refactor: prefer to inherit observer classes privately (#41360) 2024-05-21 14:21:31 -05:00
web_contents_zoom_observer.h refactor: update `WebContentsZoomController` (#39428) 2023-08-15 10:33:30 +09:00
web_view_guest_delegate.cc chore: bump chromium to 128.0.6558.0 (main) (#42413) 2024-07-02 09:51:33 +02:00
web_view_guest_delegate.h refactor: prefer to inherit observer classes privately (#41360) 2024-05-21 14:21:31 -05:00
web_view_manager.cc chore: bump chromium to 121.0.6147.0 (main) (#40523) 2023-11-28 13:40:12 -08:00
web_view_manager.h perf: use flat_set, flat_map for small, trivially-moved containers (#40817) 2024-01-05 12:18:31 +01:00
window_list.cc refactor: use `std::erase()` (#41881) 2024-04-19 10:55:59 -05:00
window_list.h refactor: migrate deprecated LazyInstance code to NoDestructor (#40927) 2024-01-10 14:01:49 -06: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 128.0.6558.0 (main) (#42413) 2024-07-02 09:51:33 +02:00
zoom_level_delegate.h chore: enable check raw ptr fields (#38167) 2023-05-11 16:07:39 -04:00