Shared use of browser cache required
Posted: Thu Dec 05, 2024 11:09 am
Hello Salvador
Since Chromium 120, it is mandatory to use a different browser cache directory for each running CEF client instance on a computer.
Otherwise, StartMainProcess fails from the second instance onwards.
https://stackoverflow.com/questions/78652092/cef4delphi-application-cant-run-two-instances
In our opinion, this is not a solution for supporting multiple instances of an app on one computer.
We would like to support a user who has started multiple app instances on one computer with the same cache.
Example spell checker:
The user adds a new word to the spelling dictionary. This is saved in the cache under dictionaries.
If the same user has opened a second CEF instance, then this instance has a different cache and therefore a different dictionary.
How to ensure that all instances for a user have an up-to-date dictionary?
Interestingly, StartMainProcess succeeds even for multiple instances when MultiThreadedMessageLoop = false and ExternalMessagePump = true.
Although this is not recommended as the cache may become corrupt.
Best regards
Reinhard
Since Chromium 120, it is mandatory to use a different browser cache directory for each running CEF client instance on a computer.
Otherwise, StartMainProcess fails from the second instance onwards.
https://stackoverflow.com/questions/78652092/cef4delphi-application-cant-run-two-instances
In our opinion, this is not a solution for supporting multiple instances of an app on one computer.
We would like to support a user who has started multiple app instances on one computer with the same cache.
Example spell checker:
The user adds a new word to the spelling dictionary. This is saved in the cache under dictionaries.
If the same user has opened a second CEF instance, then this instance has a different cache and therefore a different dictionary.
How to ensure that all instances for a user have an up-to-date dictionary?
Interestingly, StartMainProcess succeeds even for multiple instances when MultiThreadedMessageLoop = false and ExternalMessagePump = true.
Although this is not recommended as the cache may become corrupt.
Best regards
Reinhard