alloy: Delay creation of CefComponentExtensionResourceManager (see issue #3314)

This was causing early access to ResourceBundle on the main thread (via
webui::GetFontFamily) which resulted in crashes on Linux when running
with multi-threaded-message-loop.
This commit is contained in:
Marshall Greenblatt 2022-04-19 11:42:47 -07:00
parent c04895b222
commit c1b06ccee8
1 changed files with 5 additions and 2 deletions

View File

@ -90,8 +90,7 @@ class CefKioskDelegate : public extensions::KioskDelegate {
} // namespace
CefExtensionsBrowserClient::CefExtensionsBrowserClient()
: api_client_(new CefExtensionsAPIClient),
resource_manager_(new CefComponentExtensionResourceManager) {
: api_client_(new CefExtensionsAPIClient) {
AddAPIProvider(std::make_unique<CoreExtensionsBrowserAPIProvider>());
AddAPIProvider(std::make_unique<CefExtensionsBrowserAPIProvider>());
}
@ -332,6 +331,10 @@ CefExtensionsBrowserClient::CreateRuntimeAPIDelegate(
const ComponentExtensionResourceManager*
CefExtensionsBrowserClient::GetComponentExtensionResourceManager() {
if (!resource_manager_) {
resource_manager_ =
std::make_unique<CefComponentExtensionResourceManager>();
}
return resource_manager_.get();
}