mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
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:
@ -90,8 +90,7 @@ class CefKioskDelegate : public extensions::KioskDelegate {
|
|||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
CefExtensionsBrowserClient::CefExtensionsBrowserClient()
|
CefExtensionsBrowserClient::CefExtensionsBrowserClient()
|
||||||
: api_client_(new CefExtensionsAPIClient),
|
: api_client_(new CefExtensionsAPIClient) {
|
||||||
resource_manager_(new CefComponentExtensionResourceManager) {
|
|
||||||
AddAPIProvider(std::make_unique<CoreExtensionsBrowserAPIProvider>());
|
AddAPIProvider(std::make_unique<CoreExtensionsBrowserAPIProvider>());
|
||||||
AddAPIProvider(std::make_unique<CefExtensionsBrowserAPIProvider>());
|
AddAPIProvider(std::make_unique<CefExtensionsBrowserAPIProvider>());
|
||||||
}
|
}
|
||||||
@ -332,6 +331,10 @@ CefExtensionsBrowserClient::CreateRuntimeAPIDelegate(
|
|||||||
|
|
||||||
const ComponentExtensionResourceManager*
|
const ComponentExtensionResourceManager*
|
||||||
CefExtensionsBrowserClient::GetComponentExtensionResourceManager() {
|
CefExtensionsBrowserClient::GetComponentExtensionResourceManager() {
|
||||||
|
if (!resource_manager_) {
|
||||||
|
resource_manager_ =
|
||||||
|
std::make_unique<CefComponentExtensionResourceManager>();
|
||||||
|
}
|
||||||
return resource_manager_.get();
|
return resource_manager_.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user