-
Notifications
You must be signed in to change notification settings - Fork 453
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
alloy: Delete Alloy bootstrap (M128) #3685
Comments
|
We can leave this as the default (enabled) for now, until/unless anyone spots issues related to it. It can also be disabled globally be passing |
Unfortunately document PiP can't be disabled on a per-browser basis. There are two way to handle this currently with Alloy style (in OnBeforePopup when
Document PiP can also be disabled globally be passing See issue #3448 for reproduction steps. |
The following CefSettings parameters are not yet implemented for Chrome bootstrap:
|
Also need to add Chrome bootstrap support for CefResourceBundleHandler (by passing CefResourceBundleDelegate to InitSharedInstanceWithLocale here and here). This would also potentially allow us to support pack_loading_disabled, if we disabled resource-related code in those locations and moved it to ChromeMainDelegateCef. |
Also enables logging by default for Release builds (previously required the `--enable-logging` flag). Logging can still be disabled by passing the `--disable-logging` flag.
Alloy bootstrap is deprecated and will be removed in ~M127.
All prep work is now complete (in current master) for the removal of Alloy bootstrap in ~127. |
The Alloy extension API is deprecated and these tests have not been supported for some time.
Also posted to cef-announce: https://groups.google.com/g/cef-announce/c/s1WaovAopFo/m/LV5eiNX1BgAJ |
CEF plan to drop Alloy bootstrap mode support since CEF127+. chromiumembedded/cef#3685 This decision is affect to Chronos. E.g. An issue for print preview on Alloy bootstrap mode is decided to not fixed. chromiumembedded/cef#3686 So we should use Chrome bootstrap mode since CEF127+. Chrome bootstrap + Alloy runtime style is already supported from CEF125+. So we use Chrome bootstrap + Alloy runtime style in advance before CEF127 is released. If we don't use Alloy runtime style, at least the following issues have been confirmed: * Download popup like Chrome is displayed on right top corner. * Sometimes Chronos craches by clicking "oepn file" of the popup. * Context menus on right clicking are modified. * This is because menu item IDs are different between Alloy runtime mode and Chrome runtime mode. * We should modify Chronos in order to follow to the IDs of Chrome runtime mode. They are don't occur when we use Alloy runtime style. So we adopt Alloy runtime style.
CEF plan to drop Alloy bootstrap mode support since CEF127+. chromiumembedded/cef#3685 This decision is affect to Chronos. E.g. An issue for print preview on Alloy bootstrap mode is decided to not fixed. chromiumembedded/cef#3686 So we should use Chrome bootstrap mode since CEF127+. Chrome bootstrap + Alloy runtime style is already supported from CEF125+. So we use Chrome bootstrap + Alloy runtime style in advance before CEF127 is released. If we don't use Alloy runtime style, at least the following issues have been confirmed: * Download popup like Chrome is displayed on right top corner. * Sometimes Chronos craches by clicking "oepn file" of the popup. * Context menus on right clicking are modified. * This is because menu item IDs are different between Alloy runtime mode and Chrome runtime mode. * We should modify Chronos in order to follow to the IDs of Chrome runtime mode. They are don't occur when we use Alloy runtime style. So we adopt Alloy runtime style.
CEF plan to drop Alloy bootstrap mode support since CEF127+. chromiumembedded/cef#3685 This decision affects to Chronos. E.g. An issue for print preview on Alloy bootstrap mode is decided to not fixed. chromiumembedded/cef#3686 So we should use Chrome bootstrap mode since CEF127+. Chrome bootstrap + Alloy runtime style is already supported from CEF125+. So we use Chrome bootstrap + Alloy runtime style in advance before CEF127 is released. If we don't use Alloy runtime style, at least the following issues have been confirmed: * Download popup like Chrome is displayed on right top corner. * Sometimes Chronos craches by clicking "oepn file" of the popup. * Context menus on right clicking are modified. * This is because menu item IDs are different between Alloy runtime mode and Chrome runtime mode. * We should modify Chronos in order to follow to the IDs of Chrome runtime mode. They are don't occur when we use Alloy runtime style. So we adopt Alloy runtime style.
I have found a blocking issue for me in removing the Alloy bootstrap: #3721 |
@magreenblatt Now that the work has been done to remove Thanks! |
Sure. The changes have landed in current master, so the first impacted release branch will be M128. |
Thank you! |
Remove code abstractions that are no longer required after deletion of the Alloy bootstrap. This is a functional no-op.
After Alloy bootstrap deletion the remaining functions are no longer related to extensions. This change is a functional no-op.
Use more specific file naming. This change is a functional no-op.
Remove code abstractions that are no longer required after deletion of the Alloy bootstrap. This is a functional no-op.
- Add CEF info to existing chrome://version WebUI. - Move chrome://license handling to WebUI. - Remove chrome://webui-hosts; use chrome://chrome-urls instead. - Remove chrome://extension-support; navigate to docs directly instead.
Use BUILDFLAG(ENABLE_CEF) exclusively in patch files.
The Architecture Wiki page has been updated for Alloy bootstrap removal. |
Enable Chrome bootstrap and update command-line flags. Views and Chrome style are now enabled by default. - Add `--use-alloy-style` to use Alloy style. - Add `--use-native` to use a native parent window. See chromiumembedded/cef#3685 for details on the Alloy bootstrap removal.
more accurately speaking, it is 'resource_dir_path' not working as expected. |
Starting with M125 the CEF Alloy runtime has been split into separate style and bootstrap components. Both Chrome style and Alloy style browsers/windows can now be created while using the Chrome bootstrap. The Alloy bootstrap is considered deprecated and has been removed starting with the M128 release.
Background
CEF currently supports two bootstraps, the Chrome bootstrap and the Alloy bootstrap. Alloy bootstrap usage has been required up to this point for use cases such as external (native) parent and windowless (off-screen) rendering. Starting with M125 it is now possible to create Alloy style browsers for these use cases while running with the Chrome bootstrap. The final step of this migration process is the removal of Alloy bootstrap code in current master (M128 release).
Running with the Alloy bootstrap (
CefSettings.chrome_runtime = false
) will generate a warning message starting with M125. The message looks like this:[WARNING:main_runner.cc(272)] Alloy bootstrap is deprecated and will be removed in ~M127. See https://github.com/chromiumembedded/cef/issues/3685
Testing
The CEF Sample Application (cefclient on Windows/MacOS, cefsimple on Linux) is available for download here and supports the Chrome and Alloy bootstraps as specified below. Additional test applications, including CEF unit tests (ceftests), can be built and run using the Standard Distribution.
--enable-chrome-runtime
command-line flag.--disable-chrome-runtime
command-line flag.Chrome bootstrap + Chrome style is supported in all recent versions (add
--enable-chrome-runtime
if required). Modes supported with Chrome bootstrap + Chrome style:--use-native
(cefclient only & Windows/Linux only)--use-native
(cefsimple only)Chrome bootstrap + Alloy style is supported but default disabled in versions 125.0.8 and newer (add
--use-alloy-style
to enable, and--enable-chrome-runtime
if required). Modes supported with Chrome bootstrap + Alloy style:--use-views
with cefsimple--off-screen-rendering-enabled
(cefclient only)--use-native
with cefclientSee here for additional testing instructions including various runtime modes and unit test commands.
Migration Route
Windowed applications using Alloy style may wish to use Chrome style as it provides substantially more default functionality (details here). To switch a windowed application from Alloy style to Chrome style simply set
CefSettings.chrome_runtime = true
before callingCefInitialize
.Migrating an application from the Alloy bootstrap to the Chrome bootstrap while keeping Alloy style is a bit more involved. Here are the steps:
CefSettings.chrome_runtime = true
before callingCefInitialize
.CefWindowInfo.runtime_style = CEF_RUNTIME_STYLE_ALLOY
before callingCefBrowserHost::CreateBrowser
.CEF_RUNTIME_STYLE_ALLOY
fromCefWindowDelegate::GetWindowRuntimeStyle
andCefBrowserViewDelegate::GetBrowserRuntimeStyle
.What's Different
Chrome bootstrap + Alloy style behavior differs from Alloy bootstrap in the following significant ways:
Known issues specific to Chrome bootstrap + Alloy style:
DevTools popups don't load successfully in combination with windowless rendering. Use windowed rendering or remote debugging as a workaround.(fixed in 99c85e3)Reporting Issues
If you run into any additional issues while migrating your application to the Chrome bootstrap please let us know by posting on the CEF Forum or filing a bug in the CEF issue tracker.
The text was updated successfully, but these errors were encountered: