Hello,
When using client certificate authentication on Linux, clicking the "Certificate Information" button in the certificate selection dialog does not show a popup until parent dialog is dismissed and triggers a timeout.
Scenario:
- Linux CEF application (reproducible in cefsimple)
- Navigate to a website requiring TLS client certificate authentication
- Certificate selection dialog appears
- User clicks "Certificate Information" button to view certificate details
- CEF attempts to create a browser popup to display the information
Problem:
The certificate info popup doesn't appear immediately. Instead:
1. ~5 second hang with timeout error logged
2. Popup still doesn't appear
3. Only after dismissing the certificate selection dialog (Cancel/OK) does the popup finally display
Error logged:
ERROR:ui/views/widget/desktop_aura/desktop_window_tree_host_linux.cc:170]
Not implemented reached in virtual void DesktopWindowTreeHostLinux::InitModalType(ui::mojom::ModalType)
ERROR:cef/libcef/browser/browser_info_manager.cc:841]
Timeout of new browser info response for frame <BROWSER_ID>-<FRAME_ID> (has_rfh=1)
Root cause:
DesktopWindowTreeHostLinux::InitModalType() is not implemented for modal windows on Linux. The popup tries to be modal to the certificate dialog but fails. Once the parent dialog is dismissed, the popup can complete creation as non-modal.
Reproducible:
- Use cefsimple
- Navigate to a smartcard test site. EX: https://www.twocanoes.com/smartcard-test
- Click "Certificate Information" in certificate selection dialog
- Observe timeout, no popup
- Click Cancel/OK → popup then appears
Questions:
1. Is there a way to make certificate info popups non-modal by default?
2. Can this be intercepted/handled before hitting the unimplemented modal code?
3. Any workarounds or settings to avoid this?
Platform: Linux (X11), CEF version 144
Thanks!
