All the applications that didn't migrate to Chrome runtime are now forced to use it.
You can still select the style with
TChromiumCore.RuntimeStyle to CEF_RUNTIME_STYLE_ALLOY but if the application uses JavaScript integration you'll need to use the default TChromiumCore.RuntimeStyle value which uses Chrome style in most cases.
For off-screen browsers the default value is CEF_RUNTIME_STYLE_ALLOY but for the rest is CEF_RUNTIME_STYLE_CHROME.
This is the documentation for TCefRuntimeStyle :
Code: Select all
/// CEF supports both a Chrome runtime style (based on the Chrome UI layer) and
/// an Alloy runtime style (based on the Chromium content layer). Chrome style
/// provides the full Chrome UI and browser functionality whereas Alloy style
/// provides less default browser functionality but adds additional client
/// callbacks and support for windowless (off-screen) rendering. The style type
/// is individually configured for each window/browser at creation time and
/// different styles can be mixed during runtime. For additional comparative
/// details on runtime styles see
/// https://bitbucket.org/chromiumembedded/cef/wiki/Architecture.md#markdown-header-cef3
///
/// Windowless rendering will always use Alloy style. Windowed rendering with a
/// default window or client-provided parent window can configure the style via
/// TCefWindowInfo.runtime_style. Windowed rendering with the Views framework can
/// configure the style via ICefWindowDelegate.GetWindowRuntimeStyle and
/// ICefBrowserViewDelegate.GetBrowserRuntimeStyle. Alloy style Windows with the
/// Views framework can host only Alloy style BrowserViews but Chrome style
/// Windows can host both style BrowserViews. Additionally, a Chrome style
/// Window can host at most one Chrome style BrowserView but potentially
/// multiple Alloy style BrowserViews. See TCefWindowInfo.runtime_style
/// documentation for any additional platform-specific limitations.
As the CEF project maintainer said, the Chrome runtime different
Profile directory and that means that it has many changes in the cache directory.
Try migrating the contents as described by EamonHetherton in the last message of this issue :
https://github.com/chromiumembedded/cef/issues/3721
- Run the Alloy bootstrap and ensure some cookies exist.
- Create a "Default" directory in the cache folder.
- Copy the "Local Storage", "Session Storage" and "Network" folders to the sub folder "Default" (maybe should copy some other folders too, have not investigated further yet)
- Rename "LocalPrefs.json" in cache directory to "Local State" (this is essentially setting up the correct os_crypt.encrypted_key value that can be used to decrypt the cookie values)