Skip to content

Update CEF to v139, make the necessary changes to the way the media plugin creates cache directories and incorporate a universal build of Dullahan #4499

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 5 commits into
base: develop
Choose a base branch
from

Conversation

callumlinden
Copy link
Contributor

@callumlinden callumlinden commented Aug 7, 2025

Description

This commit is primarily focused on updating CEF to the latest version (v139 as of August 2025). This is captured in #4498.

Because of significant changes to CEF in the 21 months since was last updated (v118, November 2023) there are additional changes required:

  • Prior to CEF 120, each media instance could share a set of cache directories and it worked - mostly. After version 120, this is actively prohibited. Consequently, to update CEF to v139, cache directories are now created with a unique path name.
  • Because each instance gets a brand new cache directory and the contents of each is large, the whole cef_cache folder structure is purged at startup (before the parent being created at the first media instance creation)
  • The macOS version of CEF has been built historically for the Intel architecture and the magic of Rosetta2 allowed everything to work on Apple Silicon machines. After some update to Chromium (and maybe CEF) that is no longer the case and Intel builds of Chrome, CEF and even the CEF test apps run very slowly on Apple Silicon machines. @RyeMutt's work to create dual architecture (Intel/Arm) builds of CEF and then universal builds of Dullahan are invaluable and once all of the Viewer components are updated to build natively, the Viewer will run very quickly

Known Issues

  • The version of CEF in this Viewer is built (by necessity) for the Intel architecture and therefore runs incredibly slowly (unusably so) on Apple Silicon devices. There should be no slowdown running on native Intel hardware. A later phase of this (or another) will facilitate a native ARM build of all Viewer components and this issue will go away.

Checklist

Please ensure the following before requesting review:

  • I have provided a clear title and detailed description for this pull request.
  • If useful, I have included media such as screenshots and video to show off my changes.
  • The PR is linked to a relevant issue with sufficient context.
  • I have tested the changes locally and verified they work as intended.
  • All new and existing tests pass.
  • Code follows the project's style guidelines.
  • Documentation has been updated if needed.
  • Any dependent changes have been merged and published in downstream modules
  • I have reviewed the contributing guidelines.

… have it's own cache/cookie folder underneath the parent cef_cache folder. The whole cef_cache folder structure is purged at startup (before the parent being created at the first media instance creation)
@github-actions github-actions bot added the c/cpp label Aug 7, 2025
…ce has its own cache/cookies folder (previous commit). It also changes the Test Bookmarks page to a heavily updated one with new links and a filter/search mechanism
@callumlinden callumlinden changed the title First part of work for #4498. Separate folder for each CEF cache/cookie instance Update CEF to v139 and make the necessary changes to the way the media plugin creates cache directories Aug 23, 2025
@callumlinden callumlinden changed the title Update CEF to v139 and make the necessary changes to the way the media plugin creates cache directories Update CEF to v139, make the necessary changes to the way the media plugin creates cache directories and incorporate a universal build of Dullahan Aug 23, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants