This update allows CEF to render in Linux environments that lack an X11 server, such as desktops running Wayland without XWayland, and headless environments such as containers.
Note that this change removes the existing Linux binaries for CEF and replaces them with a new set of binaries, hence the large number of changed files.
#jira UCS-5194
[FYI] Mattias.Jansson
#rb Luke.Bermingham
#preflight 63355bc1f418a1071a5209de
[CL 22260825 by adam rehn in ue5-main branch]
Before:
3648 unity files
Total CPU Time: 47886.140625 s
Total time in Parallel executor: 498.81 seconds
After:
3548 unity files
Total CPU Time: 46643.828125 s
Total time in Parallel executor: 486.06 seconds
#jira
#preflight
[CL 22173263 by marc audy in ue5-main branch]
- Added missing OnConsoleMessage delegate with this merge
- Added support for direct window rendering under macOS
#jira UE-160610
#rb george.rolfe
#rb simon.therriault
#preflight 62f5a55bcf7afa018b72ecf9
#preflight 62fc1bfa2d5e2ed99cd955e1
[CL 21416499 by alfred reynolds in ue5-main branch]
Headers are updated to contain any missing #includes needed to compile and #includes are sorted. Nothing is removed.
#ushell-cherrypick of 21065896 by bryan.sefcik
#preflight 62d4b1a5a6141b6adfb0c892
#jira
#ROBOMERGE-OWNER: Bryan.sefcik
#ROBOMERGE-AUTHOR: bryan.sefcik
#ROBOMERGE-SOURCE: CL 21150156 via CL 21151754 via CL 21154719
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)
#ROBOMERGE-CONFLICT from-shelf
[CL 21181076 by Bryan sefcik in ue5-main branch]
- Engine changes needed for CEF3 arm64/m1
- Updated EpicWebHelper.app
- Made Binaries/ThirdParty/CEF/Mac/CEF.framework into two non-universal frameworks, because they are so big, we don't always want both architectures if a project is non-universal
#jira UE-153533
#rb alfred.reynolds
#preflight 6296cda42a1851b4cca8d043
[CL 20445748 by josh adams in ue5-main branch]
- Add SetBrowserKeyboardFocus() function to SWebBrowserView. Calling this lets you manually synchronise the Slate keyboard focus state with the underlying browser widget.
- To work around CEF 2040 where focus state is lost on page navigation for the OSR renderer in some cases, call SetBrowserKeyboardFocus() when navigating to a new URL or creating iframes. The CEF team reports that v95 and above of CEF have a fix for this issue so this workaround may be removed once upgraded past that version.
[REVIEW] [at]erida.dule, [at]michael.kirzinger, [at]chris.varnsverry
#tests Ran on PC and tested with various 3rd party payment flows.
#ROBOMERGE-AUTHOR: dashan.yue
#ROBOMERGE-SOURCE: CL 19484629 via CL 19485048 via CL 19486922 via CL 19496854 via CL 19497200
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v936-19480137)
[CL 19498490 by dashan yue in ue5-main branch]
Setters and getters are native functions called by FProperties when setting property values with *_InContainer functions.
Setters and getter function names can be manually specified with Setter = Func and Getter = Func keywords inside of UPROEPRTY macro but they will also be automatically parsed if the name is not explicitly specified if the setter or getter function name matches SetPropertyName and GetPropertyName pattern.
The latter behavior can be disabled in UHT's DefaultEngine.ini by setting AutomaticSettersAndGetters=False.
ImportText and ExportTextItem functions have been deprecated and should be replaced with *_InContainer or *_Direct variants.
#rb Steve.Robb
#preflight 6210a377a83e0bcefd03d9e1
#ROBOMERGE-OWNER: marc.audy
#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 19070318 via CL 19098059 via CL 19104650 via CL 19104661 via CL 19110012
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)
[CL 19147839 by marc audy in ue5-main branch]
Switching direct casts of GDynamicRHI to use the new CastDynamicRHI/GetDynamicRHI functions. This prevents incorrectly casting RHIValidation into the wrong types.
#jira none
#rb josh.adams, will.damon, peter.tarasenko
#preflight 6216a3b9c15ec90be95f54f7
[CL 19116145 by christopher waters in ue5-main branch]
#rb trivial
#rnx
#preflight 62174eee476ef5d8a220bf2f
- When the WebBrowser module is loaded in the editor we make a call to ::CefInitialize which seems to set the current thread name to 'CrBrowserMain' overriding that the engine sets on start up.
- This was originally fixed back in CL 2636308 for UE-5165 but uses it's own utility function to set the thread name rather than using FPlatformProcess which contains more up to date ways of setting the thread name on certain platforms.
- Removed the local utility method and started using FPlatformProcess::SetThreadName.
[CL 19111298 by paul chipchase in ue5-main branch]