* Untangle mutual dependencies between objects and constructor order (OPP-3858):
* FWebBrowserWindow no longer keeps a reference to FWebBrowserHandler.
* CefBrowserWindow is created before creating FWebBrowserWindow and passed to its constructor.
* FWebBrowserViewport no longer has a reference back to the viewport widget.
* Cleaned how some platform specific paths were defined during module initialization.
* Sets current thread name (back) to GameThread after initializing CEF (UE-5165)
* Adopted changes from UT (with some modifications):
* Enable on-disk caching and persisting cookies when requested by server.
* Added product name and engine version to user agent request header.
* Ensure UStruct parameters passed by value to FWebJSFunctions are copied when constructing the argument list and not just their address.
*SWebBrowser scripting: Add support for passing TMap<FString, T> to FWebJSFunction objects.
Note: since the struct serializer does not yet support maps, this only works for arguments passed directly to the function object and not UStruct members nor function return values. OPP-3861
* Add support for passing a reference to the JS promise object implicitly created when calling UFunctions to provide for a way to report runtime errors back to it instead of just passing the return value.
* This also allows for implementing async functionality as the promise object can be saved and used after the UFunction has returned.
Merging CL#2633955, CL#2634077, CL#2634226, CL#2635540, CL#2636167, and CL#2636262 using UE4-To-UE4-LauncherDev
[CL 2636308 by Keli Hlodversson in Main branch]
Merging CL#2608123 LauncherDev->Main
change summary:
- Popup features/settings are now passed to when requesting creation of new browser window.
- Web browser handler now implements DoClose()
- Added support for overriding web browser close functionality.
- Launcher specific test for spawning browser windows with dynamic content.
[CL 2611451 by Wes Fudala in Main branch]
The feature has never been included in an official release, so removing it should not cause a bw compatibility problem.
[CL 2606030 by Keli Hlodversson in Main branch]
Allow using the native mouse cursor handle from CEF.
JIRA: OPP-3734
rb: Justin.Sargent
#platformnotify Josh.Adams
[CL 2605865 by Keli Hlodversson in Main branch]
Implement JS integration via a subset of UObject scripting functionality and custom CEF Messages
JIRA: OPP-3240
rb: Justin.Sargent
[CL 2601283 by Keli Hlodversson in Main branch]
Merging CL#2582871 LauncherDev->Main
change summary:
- Web browser modified to allow users to pass in a callback function that will handle window creation.
[CL 2586148 by Wes Fudala in Main branch]
Also added the option to pass a content string when the window is created, as you need to wait a frame before the browser is passed back for it to be valid.
[CL 2412858 by Matthew Griffin in Main branch]
Changed Web Browser Window Set Size function to take an int point as there's no need for float version
Calculated integer size of viewport by adding position and size before converting to int, which avoids problems with rounding.
[CL 2397445 by Matthew Griffin in Main branch]
Also removed guards around browser code in SWebBrowser and made sure that path for sub process exe is correct if game exe is not in the same folder.
[CL 2389777 by Matthew Griffin in Main branch]