Files
UnrealEngineUWP/Engine/Source/Runtime/WebBrowser/Private/SWebBrowserView.cpp

587 lines
14 KiB
C++
Raw Normal View History

// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.
#include "SWebBrowserView.h"
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3209340 on 2016/11/23 by Ben.Marsh Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h. Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms. * Every header now includes everything it needs to compile. * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first. * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h. * Every .cpp file includes its matching .h file first. * This helps validate that each header is including everything it needs to compile. * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more. * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there. * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible. * No engine code explicitly includes a precompiled header any more. * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies. * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files. Tool used to generate this transform is at Engine\Source\Programs\IncludeTool. [CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
#include "Misc/CommandLine.h"
#include "Containers/Ticker.h"
#include "WebBrowserModule.h"
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3209340 on 2016/11/23 by Ben.Marsh Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h. Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms. * Every header now includes everything it needs to compile. * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first. * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h. * Every .cpp file includes its matching .h file first. * This helps validate that each header is including everything it needs to compile. * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more. * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there. * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible. * No engine code explicitly includes a precompiled header any more. * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies. * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files. Tool used to generate this transform is at Engine\Source\Programs\IncludeTool. [CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
#include "Layout/WidgetPath.h"
#include "Framework/Application/MenuStack.h"
#include "Framework/Application/SlateApplication.h"
#include "IWebBrowserDialog.h"
#include "IWebBrowserWindow.h"
#include "WebBrowserViewport.h"
#include "IWebBrowserAdapter.h"
#if PLATFORM_ANDROID
# include "Android/AndroidWebBrowserWindow.h"
Copying //UE4/Dev-Mobile to //UE4/Main (Source: //UE4/Dev-Mobile @ 2945914) ========================== MAJOR FEATURES + CHANGES ========================== Change 2911743 on 2016/03/16 by Allan.Bentham Fix broken tonemapper when using 32bpp encoded HDR. Fixes UE-28359 Cleaned up some ronin integration hacks from ronin. Change 2912053 on 2016/03/16 by Peter.Sauerbrei disable Vulkan in Win32 builds for now #codereview rolando.caloca #jira UE-28465 Change 2914512 on 2016/03/18 by Dmitriy.Dyomin Fixed crash on Nexus5 with Android 4.4.2 when TonemapperFilm is enabled Change 2914944 on 2016/03/18 by Allan.Bentham Fix es2 tonemap flip. Fixes UE-25148 Change 2915248 on 2016/03/18 by Chris.Babcock Updates to support NDK r11 #jira UE-28529 #ue4 #android Change 2919192 on 2016/03/22 by Chris.Babcock NDK level set above 19 forces minSdkVersion to 21 or above to prevent installing on unsupported devices #jira UE-28408 #ue4 #android #codereview Jack.Porter Change 2919591 on 2016/03/23 by Allan.Bentham Merge ronin's Gaussian DoF to 4.11's dof changes. Gaussian DoF will use a single recombine pass with ES31 devices or if no separate translucency is used on SM4+. Added permutation to exclude separate translucency from Gaussian recombine shader when not in use. #codereview martin.mittring Change 2920758 on 2016/03/24 by Dmitriy.Dyomin Fixed: shifting lighting samples octree https://udn.unrealengine.com/questions/276026/lighting-samples-visualization-not-working-with-le.html Change 2920793 on 2016/03/24 by Dmitriy.Dyomin Fixed: When sub-level set to be unloaded but with visbility state set to true, ULevelStreaming::IsStreamingStatePending returns wrong value #jira UE-26426 Change 2920981 on 2016/03/24 by Dmitriy.Dyomin GPU particles support for iOS Metal (A8+ only) #jira UE-11067 #jira UE-28514 #codereview Jack.Porter Change 2921383 on 2016/03/24 by Allan.Bentham Fix inverted image on device when framebuffer fetch/bViewRectSource is not used. #codereview jack.porter Change 2925694 on 2016/03/29 by Dmitriy.Dyomin Fixed: GPU particles and bloom on S7 Mali Change 2927065 on 2016/03/29 by Chris.Babcock Set the DT_SONAME field in linker (stops warning toast) #ue4 #android #codereview Jack.Porter Change 2927375 on 2016/03/30 by Jack.Porter Fixed localization for placement mode Cube, Sphere, Cylinder and Cone Change 2928643 on 2016/03/30 by Jack.Porter Fixed bug introdued by Ronin merge with DepthOfFieldScale setting being locked for BokehDOF #code_review: allan.bentham Change 2932773 on 2016/04/04 by Jack.Porter Reapply android Vulkan version fixes Change 2932853 on 2016/04/05 by Jack.Porter Enable VULKAN_CLEAR_SURFACE_ON_CREATE on Android to prevent assertion Change 2932998 on 2016/04/05 by Jack.Porter Native web browser widget on iOS #jira UEMOB-20 Change 2933420 on 2016/04/05 by Chris.Babcock Removed hard-coded bUseUnityBuild in UBT for Android (contributed by kosz78) #jira UE-29066 #pr #2236 #ue4 #android Change 2934315 on 2016/04/05 by Chris.Babcock Allow Android to act as server with OnlineSubsystemNull (contributed by psychogony) #jira UE-23937 #PR #1820 #ue4 #android #codereview Ryan.Gerleve Change 2935038 on 2016/04/06 by Chris.Babcock Fix OpenGLES31 compile error #ue4 #android #codereview Jack.Porter Change 2936288 on 2016/04/07 by Allan.Bentham Planar reflection captures for mobile. (UE-27426) Added mobile planar reflection flag to material. #codereview jack.porter, daniel.wright Change 2936297 on 2016/04/07 by Allan.Bentham Missed file. Planar reflection captures for mobile. (UE-27426) #codereview jack.porter, daniel.wright Change 2937763 on 2016/04/08 by Dmitriy.Dyomin Fix InstancedStaticMesh batches for ES2 (contributed by Grimmick) GitHub #2031 #jira UE-26576 #codereview Jack.Porter Change 2937863 on 2016/04/08 by Jack.Porter Merged Ronin CLs 2840392, 2860028 Allow vertex texture fetches on ES2 (requires absolute mip level) Change 2938461 on 2016/04/08 by Chris.Babcock Write Android uninstall batch files #ue4 #android Change 2939679 on 2016/04/11 by Allan.Bentham Remove bStationaryLightUsesCSMForMovableShadows from light component's UI. renamed proxy equivalent and infer its state from Inset Shadows For Movable Objects #codereview jack.porter, daniel.wright Change 2939887 on 2016/04/11 by Chris.Babcock Android ARM64 libraries #jira UEPLAT-1268 #ue4 #android Change 2940125 on 2016/04/11 by Chris.Babcock Added requirements to Arm64 and x86_64 tooltips Change 2941051 on 2016/04/12 by Allan.Bentham Fix for inverted RG channels when using filmic tonemapper with ES2. #codereview jack.porter Change 2942523 on 2016/04/13 by Chris.Babcock Add cxa_demangle build.cs instead of hiding dependency in UEBuildAndroid.cs #ue4 #android #codereview Josh.Adams Change 2942578 on 2016/04/13 by Chris.Babcock Add cxademangle dependency to Core for Android #ue4 #android #codereview Josh.Adams Change 2942997 on 2016/04/13 by Chris.Babcock Run Ant with -quiet first and run again without if there is an error for the log #ue4 #android #codereview Josh.Adams Change 2943320 on 2016/04/14 by Jack.Porter Fixed planar reflection merge errors Change 2943352 on 2016/04/14 by Jack.Porter Fix NAME_VULKAN_ES3_1_ANDROID shader format name #codereview: Rolando.Coloca Change 2943367 on 2016/04/14 by Dmitriy.Dyomin Added cvars to add or strip specific GL extensions from a driver reported extensions string #jira UE-29467 Change 2943425 on 2016/04/14 by Dmitriy.Dyomin Better logging of MobileHDR mode Change 2943461 on 2016/04/14 by Dmitriy.Dyomin Fixing HDR rendering and bloom on Galaxy S7 Change 2943493 on 2016/04/14 by Dmitriy.Dyomin Better HDR fix for devices with ES3 support Change 2943855 on 2016/04/14 by Allan.Bentham Mobile planar reflections. - currently only supports opaque materials #codereview jack.porter Change 2944721 on 2016/04/14 by Chris.Babcock Allow Vulkan-only Android builds #ue4 #android #codereview Allan.Bentham,Jack.Porter Change 2944771 on 2016/04/14 by Dmitriy.Dyomin Fixed: mesh particles crash in ES2 Change 2944827 on 2016/04/15 by Dmitriy.Dyomin Fixed: GPU particles not working on S6 with Android 6.0.1 Change 2944836 on 2016/04/15 by Jack.Porter Disable FX system calls in forward renderer when particles showflag is off Change 2944840 on 2016/04/15 by Jack.Porter Re-enabled non-radial TDeferredLightVS on ES2 for planar and put #if FEATURE_LEVEL >= FEATURE_LEVEL_SM4 around the radial shader code which was tripping up ES2. #codereview: Allan.Bentham, Chris.Babcock, Daniel.Wright Change 2944914 on 2016/04/15 by Jack.Porter Device profiles to detect Galaxy S7 Mali and Adreno variants in Vulkan mode Change 2945020 on 2016/04/15 by Gareth.Martin Cloning changes across from Dev-Landscape to Dev-Mobile due to feature deadline for 4.12. Change 2943560 on 2016/04/14 by Gareth.Martin Added ability to expand landscape bounds #jira UE-28928 #jira UE-25230 Change 2943538 on 2016/04/14 by Gareth.Martin Fix a crash with saving a level >2GB in size. There may still be other crashes with >2GB levels. Change 2943477 on 2016/04/14 by Gareth.Martin Fixed LODFalloff setting on landscape getting reset when using the "Change Landscape Component Size" tool Also moved all the LOD settings together in LandscapeProxy.h because it was messy Change 2942113 on 2016/04/13 by Gareth.Martin Updating comment to clarify behaviour of Foliage Align-To-Normal when Random-Yaw is disabled. Change 2941030 on 2016/04/12 by Gareth.Martin Cleanup and commenting Change 2940994 on 2016/04/12 by Gareth.Martin Implement random scale option for Landscape Grass. #jira UE-25743 Change 2940993 on 2016/04/12 by Gareth.Martin Remove unused BuildFlatTree function from HierarchicalInstancedStaticMeshComponent Change 2940150 on 2016/04/11 by Gareth.Martin Harden UHierarchicalInstancedStaticMeshComponent::UpdateInstanceTransform Change 2940101 on 2016/04/11 by Gareth.Martin Additional checks for bad static mesh when building the HISMC tree Change 2945560 on 2016/04/15 by Rolando.Caloca DM - Fix for newer Vulkan sdks Change 2945638 on 2016/04/15 by Chris.Babcock Fix permissions on uninstall script on Mac #jira UE-29236 #ue4 #android #lockdown Jack.Porter Change 2945856 on 2016/04/15 by Rolando.Caloca DM - vk - Fix mapped allocations on mobile #lockdown nick.penwarden [CL 2945995 by Chris Babcock in Main branch]
2016-04-15 18:19:26 -04:00
#elif PLATFORM_IOS
# include "IOS/IOSPlatformWebBrowser.h"
Copying //UE4/Orion-Staging to //UE4/Dev-Main (//UE4/Orion-Staging @ 2979119, //Orion/Dev-General @2976565) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2976484 on 2016/05/12 by Jason.Bestimt #ROBOMERGE-AUTHOR: nick.atamas Added queueing to HUD Alerts so they don't clobber each other. Added input visualization so that keys show up in game. SRichTextBlock/UOrionRichTextBlock now have a MinDesiredWidth #test PIE #ROBOMERGE-SOURCE: CL 2976474 in //Orion/Release-0.26/... via CL 2976481 via CL 2976482 via CL 2976483 #ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 2976256 on 2016/05/12 by Zak.Middleton #ue4 - Fix for shipping build. #tests compiled Change 2976205 on 2016/05/12 by Zak.Middleton #ue4 - (Merge 2957866) Add MaxDepenetration for characters against geometry and pawns. #tests MP PIE PlayGo (Merging CL 2957866 using Framework->DevGeneral) Change 2976166 on 2016/05/12 by Daniel.Lamb Cooking optimziation to unsolicited markup saves 150 seconds paragon cook time. #test Cook paragon Change 2976161 on 2016/05/12 by Zak.Middleton #ue4 - Make sure LastUpdateLocation, Rotation, and Velocity are updated on client and server error corrections. ForcePositionUpdate should call PerformMovement regardless of velocity (there may be root motion or gravity effects). #tests PIE MP w/ real-world networking Change 2976092 on 2016/05/12 by Mieszko.Zielinski Modified adding dynamic subtrees to BT component so that we get a log info if it fails #UE4 #test golden path Change 2976001 on 2016/05/12 by Robert.Manuszewski Don't log to memory on dedicated servers #jira UE-30693 #test Cooked dedicated server and client Change 2975855 on 2016/05/12 by Lukasz.Furman fixed behavior tree serialization spawning duplicates of task services #tests BT editor Change 2975706 on 2016/05/12 by Daniel.Lamb Fixed redirect collector stats. #test Compile Change 2975636 on 2016/05/12 by Jason.Bestimt #ROBOMERGE-AUTHOR: jason.bestimt #ORION_MAIN - Merge DUI @ CL 2975557 #RB:none #Tests:none [CodeReviewed]: matt.schembari, kerrington.smith, tony.oliva, jaymee.stanford, mona.huang, alex.conner, jacob.lawyer, paul.shank #ROBOMERGE-SOURCE: CL 2975635 in //Orion/Main/... #ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 2975592 on 2016/05/12 by Zak.Middleton #ue4 - Add stat for SetHitResultFromShapeAndFaceIndex(). #tests PIE Change 2975589 on 2016/05/12 by Zak.Middleton #ue4 - Avoid filling temp variable unless in Editor builds. It's only used later in the function in Editor builds. #tests PIE Change 2975588 on 2016/05/12 by Zak.Middleton #ue4 - Minor tweak to avoid array read each loop iteration. #tests PIE Change 2975587 on 2016/05/12 by Zak.Middleton #ue4 - Add "IsPlayerController()" function to AController. Variable already existed, just wasn't exposed. #tests PIE Change 2975504 on 2016/05/12 by Daniel.Lamb Remove new stats system because it broke build. #test cook paragon Change 2975500 on 2016/05/12 by Daniel.Lamb Enable redirect timers so I can get stats from build machines. #test cook paragon. Change 2975367 on 2016/05/12 by Jason.Bestimt #ROBOMERGE-AUTHOR: david.nikdel #OGF #CatalogService #OSS #Localization - Flush the cached offers/items in CatalogServiceMcp when the culture changes since they contain localized text - Flush the cached virtual catalog offers/items in McpCatalogHelper when the culture changes since they contain localized text - Replaced SetForceCatalogRefresh with ClearCache per CR with SamZ (will require Launcher fixup) [CodeReviewed]: Sam.Zamani, Matt.Kuhlenschmidt #RB: Sam.Zamani #TESTS: storefront w/ language change #ROBOMERGE-SOURCE: CL 2975366 in //Orion/Main/... #ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 2975209 on 2016/05/12 by Simon.Tovey Fixed initialization order warning. #tests none Change 2975200 on 2016/05/12 by Simon.Tovey Translucency GPU time stats for automation. Refactored separate translucency gpu timer to more general helper class and used it to also time regular translucency. Feeding both of these into a stat to help art identify poorly performing VFX for more detailed investigation. There are occasional spikes when the GPU is starved but overall the data out seems good. #tests GoldenPath, Editor, Auto downsampling works, new stat produces reasonable data. Change 2974984 on 2016/05/11 by Mieszko.Zielinski Fixed a bug in graph-a-star heuristics' calculation #UE4 #test golden path Change 2974916 on 2016/05/11 by Jason.Bestimt #ROBOMERGE-AUTHOR: jason.bestimt #ORION_MAIN - Merge 26 @ CL 2974578 #RB:none #Tests:none #ROBOMERGE-SOURCE: CL 2974915 in //Orion/Main/... #ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 2974869 on 2016/05/11 by Ben.Marsh BuildGraph: Add a MergeTelemetryWithPrefix="..." parameter to the <Command> task which allows merging the telemetry data from a child UAT run, adding a given prefix to all the key names. #tests none Change 2974673 on 2016/05/11 by Mieszko.Zielinski Fix to BT not stopping if "StopTree" called while BT was waiting for a task to latently abort #UE4 (change by ?ukasz.Furman) #test golden path Change 2974581 on 2016/05/11 by Jason.Bestimt #ROBOMERGE-AUTHOR: matt.kuhlenschmidt Merged CL 2974565 from Release-.26 -> Main: Fixed loc region not saving in shipping builds Partially fixed store not refreshing when changing regions. Real money currency items are pending additional fixes #ROBOMERGE-SOURCE: CL 2974578 in //Orion/Main/... #ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 2974444 on 2016/05/11 by Jason.Bestimt #ROBOMERGE-AUTHOR: richard.fawcett Reimplement support for specifying BuildPatchTool version used in chunking This is now possible after Ben Marsh's fix to BuildGraph with CL 2974407. #tests none #ROBOMERGE-SOURCE: CL 2974441 in //Orion/Main/... #ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 2974408 on 2016/05/11 by Jason.Bestimt #ROBOMERGE-AUTHOR: ben.marsh BuildGraph: Fix support for variable expansion in user-defined enum types. Enums in the schema are now represented as the union of valid values and a regex matching a balanced property expansion string, which still validates/autocompletes cleanly in Visual Studio. #tests none [CodeReviewed] Richard.Fawcett #ROBOMERGE-SOURCE: CL 2974407 in //Orion/Main/... #ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 2974392 on 2016/05/11 by Daniel.Lamb Optimizing resolve string asset reference resolution. Added timing stats (disabled by default). #test Cook paragon. Change 2974349 on 2016/05/11 by Jason.Bestimt #ROBOMERGE-AUTHOR: richard.fawcett Back out changelist 2974298. An issue with the BuildGraph system has prevented this change from working on the build farm. #tests none #ROBOMERGE-SOURCE: CL 2974347 in //Orion/Main/... #ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 2974299 on 2016/05/11 by Jason.Bestimt #ROBOMERGE-AUTHOR: richard.fawcett Add support for chunking builds with the pre-release version of BuildPatchTool. #tests None. This code will be tested by creating a build on the build farm immediately after submission. #ROBOMERGE-SOURCE: CL 2974298 in //Orion/Main/... #ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 2974277 on 2016/05/11 by Lina.Halper Fix up of retargeting when it skips replacing nested reference #tests: retargeting anim BP Change 2974210 on 2016/05/11 by Bart.Bressler Merging Oodle changes from Dev-Networking Change 2939167 on 2016/04/10 by John.Barrett Updated packet bit termination code, so that both UNetConnection's and the PacketHandler use a termination bit (required for both PacketHandler/UNetconnection, as HandlerComponent's such as Oodle, are byte-aligned and do not preserve packet bit size). Added new 'stat packet' stats group, for tracking reserved packet bits. Added '-NoPacketHandler' commandline parameter, for disabling the PacketHandler and all HandlerComponent's (including stateless handshake) - restoring netcode to pre-PacketHandler state. Removed PacketHandler 'packet overhead' method of packet bit size calculation - replaced with termination bit. Still partially used for reserving bits within packets (but renamed to avoid conflict with other 'PacketOverhead' variable). Refactored/consolidated some PacketHandler code. Added more stringent bounds checking on packet sizes. Change 2939168 on 2016/04/10 by John.Barrett Updated Oodle to support new packet bit-termination code. Added Oodle protocol support for selective packet compression (packets can now be sent uncompressed - game code will require a hook for this) - required for new bit-based netcode (Oodle outputs byte-aligned data, allowing compressed data to exceed size of uncompressed data - and thus, maximum packet size if not sent uncompressed - in rare edge cases). Added '-CompressionTest' commandline parameter to Oodle dictionary generation commandlet, which reserves a portion of captured packets, for determining the compression savings percentage. Added '-OodleDebugDump' commandline parameter, which disables normal dictionary generation, and converts packet captures into a .bin file, which is compatible with the Oodle 'example_packet.cpp' code. Added temporary security bandaids to Oodle code, based on report that Luigi Auriemma put together, which deals with potential weaknesses in the Oodle API Added 'stat oodle' stats for tracking failed attempts at compressing packets. Change 2942964 on 2016/04/10 by Ryan.Gerleve Fix broken indentation/formatting Change 2958260 on 2016/04/27 by Bart.bRessler Add branch name and changelist to oodle packet capture filenames. Change 2964360 on 2016/05/03 by John.Barrett Updated Oodle to support using a dictionary and capturing packets at the same time. The dictionary is now always loaded, if specified, and whenever -OodleCapturing is on the commandline, packets are captured alongside the active dictionary. Added several debug commands, to aid with testing compression performance (not QA-ready; only works with 1 player on a server): "Oodle Compression On/Off" - enables/disables packet compression (but still decompresses received compressed packets) "Oodle Dictionary Unload/Load" - unloads/loads the dictionary files, to allow releasing the files for dictionary generation, and reloading the new dictionary. "Oodle Capture On/Off" - Enables/Disables packet capturing at runtime - requires '-OodleCapturing' on commandline. "Oodle ResetStats" - resets the 'stat oodle' stat counters. The NetcodeUnitTest plugin should be enabled, so that these commands can automatically execute on the server as well, as needed. Change 2964553 on 2016/05/03 by Bart.Bressler Add process ID to oodle capture filenames Change 2966247 on 2016/05/04 by John.Pollard Oodle 2.1.5 SDK Change 2968761 on 2016/05/06 by Bart.Bressler - Added changelist number as parameter to most command line tasks to filter captures by their changelist number (use "all" to get everything) - Moved a bunch of the file searching/processing code outside of the tasks themselves so that the tasks all just operate to an array of capture files, this makes it easier to create new command line options - When looking for capture files, we will now recursively search subdirectories Change 2970529 on 2016/05/09 by Bart.Bressler Add an optional "CapturePercentage" command line parameter that has a percentage chance of generating capture files per connection Change 2970874 on 2016/05/09 by Bart.Bressler - Turn on OODLE_DEV_SHIPPING in the Orion server shipping config so that captures can be generated in shipping builds - Link to version 215 of oodle Change 2971233 on 2016/05/09 by Bart.Bressler Update Oodle DLLs in Orion Change 2971362 on 2016/05/09 by Bart.Bressler Create script for building an oodle dictionary out of capture files in an arbitrary location Change 2972176 on 2016/05/10 by Bart.Bressler Update oodle references to version 215 in OodleHandlerComponent.Build.cs #tests used solo vs. ai to test oodle captures and using them Change 2974035 on 2016/05/11 by Simon.Tovey Adding fx.ParticleCollisionIgnoreInvisibleTime to replace hard coded time. This is the time a PSC needs to be invisible for to have all it's collisions ignored. This is potentially the cause of a bug Tim et al are seeing. #tests Editor, Can be used to repro/fix the issue. Change 2973985 on 2016/05/11 by Lina.Halper Retargeting fix with editor saving issue #tests: retargeting Change 2973695 on 2016/05/11 by Jason.Bestimt #ROBOMERGE-AUTHOR: jason.bestimt #ORION_MAIN - Merge 26 @ CL 2973469 #RB:none #Tests:none #ROBOMERGE-SOURCE: CL 2973694 in //Orion/Main/... #ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 2973679 on 2016/05/11 by Graeme.Thornton UAT parameter -signedpak now no longer implies -pak #tests win64 cooked client. checked that pak generation works as expected through project launcher Change 2973588 on 2016/05/11 by Simon.Tovey OR-21033 - Get physical material from particle collision event exposed in Cascade / Blueprint Particles can now receive collision events selectively based upon the phyisics material of the hit. Physics material is passed through the event and can be accessed in BPs. The Event Receiver Spawn node also now has an array of Allowed and Banned phys materials. #tests Editor and game. Coudln't test cooked as having unrelated crashes in cooked games. Shouldn't be any cooked/uncooked issues here. Change 2973394 on 2016/05/11 by bruce.nesbit Fixed couple of shadow vars #tests compiled Change 2973335 on 2016/05/11 by Andrew.Grant Warning fix #tests compiled Change 2973308 on 2016/05/10 by Dmitry.Rekman Add "unplayable condition" reporting. - The server will report an unplayable condition by creating a local file (under Saved). - An external script can possibly notice this and, applying its own logic on % of servers reporting it, profile or shutdown the whole machine. - Report file is to be deleted by an external script. #tests Compiled and ran Linux server, subjected it to various hitches. Change 2973235 on 2016/05/10 by Zak.Middleton #ue4 - Removed allocs after initial spawn from client saved move processing in character movement. #tests PIE multiplayer w/ Bots Change 2973157 on 2016/05/10 by Olaf.Piesche Merging CL 2973112 from //UE4/Dev-Rendering->//Orion/Dev-General Providing particle source and target for beam emitters #tests editor game PC Change 2972715 on 2016/05/10 by Jason.Bestimt #ROBOMERGE-AUTHOR: jason.bestimt #ORION_MAIN - Merge 26 @ CL 2972681 #RB: none #Tests:none #ROBOMERGE-SOURCE: CL 2972712 in //Orion/Main/... #ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 2972678 on 2016/05/10 by Mieszko.Zielinski Fixed babysitter bot not avoiding enemy towers when pathfinding back to base #Orion #jira OR-18590 #test golden path Change 2972595 on 2016/05/10 by Lina.Halper Animation Retargeting fix for blendspaces #code review: Benn.Gallagher, Martin.Wilson #tests: retargeting anim BP Change 2972282 on 2016/05/10 by Daniel.Lamb Optimized string asset reference resolution slightly to help get back missing 10 minutes from paragon cook. #test cook paragon. Change 2972260 on 2016/05/10 by Laurent.Delayen Fixed crash in UCharacterMovementComponent::HasRootMotionSources(). #tests Chains pull not crashing anymore. Change 2972241 on 2016/05/10 by Frank.Fella UMG - Fixes for material animation copied from 4.12. #RB Matt K. #TESTS Struct materials can now be animated and animated materials are named nicely. Change 2971643 on 2016/05/09 by Dmitry.Rekman Add reporting of "zero load" frame times (OR-21035). - Added a thread that does nothing but sleeps and counts how often it missed the target FPS. - Added an analytics event ServerZeroLoadFrameTimeDistribution that is sent at the end of the match. - Server only. #tests Compiled and ran Linux server on a compatible content, played few matches in a row. Change 2971544 on 2016/05/09 by Ben.Marsh EC: Use a full path to the telemetry file, to account for UAT switching directories. Change 2971532 on 2016/05/09 by Wes.Hunt Alter the cook stats hierarchical profile data to reflect the latest cook changes. #tests none Change 2971527 on 2016/05/09 by Ben.Marsh UAT: Move telemetry object into CommandUtils, so we can add stats from anywhere. #tests none Change 2971461 on 2016/05/09 by David.Ratti Fix issues with mesh swap skins: -Front end intro animations not playing -In game spawn animations not playing -Some attachment weirdness (twinblast) #tests golden path Change 2971460 on 2016/05/09 by David.Ratti Fallback to Target actor if there is no instigating actor in the GAmeplayCue parameters when determining if we should play "local only" effects #tests pie Change 2971364 on 2016/05/09 by Ben.Marsh EC: Add support for adding custom telemetry data from UAT scripts, which gets piped through to the trends panel in EC. #tests none Change 2971245 on 2016/05/09 by Dmitry.Rekman Add a "hitchhunter" log message to catch hitches while sleeping. #tests Compiled and ran Linux server on a compatible content. Change 2971196 on 2016/05/09 by jason.bestimt #ORION_MAIN - Merge 25.2 @ CL 2971139 #RB:none #Tests:none #ROBOMERGE-SOURCE: CL 2971168 in //Orion/Main/... #ROBOMERGE-BOT: ORION (Main -> Dev-General) #ROBOMERGE-SAYS: Beep boop! I couldn't merge this change. Please do it yourself, human. //Orion/Dev-General/OrionGame/Content/Characters/Heroes/Coil/Audio/Body/Pixie_Cranking_Loop_Cue.uasset - can't branch exclusive file already opened #CodeReview: david.nikdel, jason.bestimt Change 2971113 on 2016/05/09 by Dmitry.Rekman UdpMessaging: Fixed broken filters for when to enable UDP transport. - Redoing MaxP's change from Dev-Sequencer (CL 2963357). - Reduces number of threads spawned by the server. #tests Compiled Linux server, ran it on a compatible content. Change 2971040 on 2016/05/09 by jason.bestimt #ORION_MAIN - Merge 25.2 @ CL 2970990 #RB:none #Tests:none [CodeReviewed]: jon.lietz #ROBOMERGE-SOURCE: CL 2971027 in //Orion/Main/... #ROBOMERGE-BOT: ORION (Main -> Dev-General) #ROBOMERGE-SAYS: Beep boop! I couldn't merge this change. Please do it yourself, human. #CodeReview: david.nikdel, jason.bestimt Change 2970555 on 2016/05/09 by Ben.Marsh BuildGraph: Only show warnings and errors for the SavePackage log during cooks. Prevents redundant display of information that's already in the Cook log. #tests preflight here: https://ec-01.epicgames.net/commander/link/jobDetails/jobs/6443796 Change 2970507 on 2016/05/09 by David.Ratti Support for linking passive abilities to a key binded ability. E.g., allow a passive ability to be unlocked and leveled up in step with a key binded ability. Cleaned up the TryLevel/CanLevelUp code a bit: moved to Orion Ability System Component #tests pie Change 2970414 on 2016/05/09 by Graeme.Thornton Don't take a copy of the child tags array when doing UGameplayTagsManager::FindTagNode, just take a const& #tests win64 client golden path Change 2969729 on 2016/05/06 by Mieszko.Zielinski Fixed a dumb mistake in a conditional expresion in UNavigationQueryFilter::GetQueryFilter #UE4 #test golden path Change 2969675 on 2016/05/06 by Mieszko.Zielinski Implemented "meta navigation filter" that can fetch a filter class based on given agent #UE4 Added NavFilter_AIControllerDefault that fetched DefaultNavigationFilter from AIController Reverted hack-feature that supplied same functionality to EQS #test golden path Change 2969652 on 2016/05/06 by Michael.Noland HLOD: Changed UI gating code so that whether or not a LOD Actor is valid is based on the presence of at least two static mesh components, rather than at least two actors (to improve handling when including BPs) - Repurposed HasValidSubActors for this check, and introduced HasAnySubActors() for the existing uses as this better matches the intent of how the function was used #tests Added a single BP containing 7 mesh components to a new ALODActor and verified that it allowed a proxy to be generated Change 2969651 on 2016/05/06 by Michael.Noland Simplygon: Added time taken for simplygon mesh reduction to the log message #tests Simplified a LOD cluster and inspected the log Change 2969604 on 2016/05/06 by Uriel.Doyon Changed default value to true for UParticleModuleVectorFieldLocal::bUseFixDT. #tests confirmed that default value has changed for old assets, while allowing override. Change 2969418 on 2016/05/06 by jason.bestimt #ROBOMERGE-AUTHOR: andrew.grant Fixed unconverted char string being passed as part of build info #tests ran & verified patch check passes #ROBOMERGE-SOURCE: CL 2969417 in //Orion/Main/... #ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 2968817 on 2016/05/06 by jason.bestimt #ROBOMERGE-AUTHOR: jason.bestimt #ORION_MAIN - Merge 25.2 @ CL 2968572 #RB:none #Tests:none #ROBOMERGE-SOURCE: CL 2968813 in //Orion/Main/... #ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 2968383 on 2016/05/05 by Mieszko.Zielinski Added "default navigation filter" to AIController #UE4 Also, made EQS take advantage of that #test golden path Change 2968225 on 2016/05/05 by John.Pollard Add sanity checks and more info to help track down possible memory corruption #tests Networking, replication Change 2967903 on 2016/05/05 by jason.bestimt #ROBOMERGE-AUTHOR: jason.bestimt #ORION_MAIN - Merge 25.2 @ CL 2967827 #RB:none #Tests:none #ROBOMERGE-SOURCE: CL 2967902 in //Orion/Main/... #ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 2967899 on 2016/05/05 by Lina.Halper Merged change of 2956152 Remove invalid ensure - this didn't work if you have composite inside. #tests: none Change 2967870 on 2016/05/05 by Andrew.Grant Fix for OR-20731 (gamever crashes client) #tests gamever at console with -game Change 2967606 on 2016/05/05 by Wes.Hunt Tweaked output log message for HTTP module shutdown. #tests none Change 2967359 on 2016/05/05 by Wes.Hunt HttpManager will log outstanding requests on shutdown so people can debug shutdown issues and ensure their requests get flushed properly. Also changed default LogHttp logging level to display so these messages can be shown by default without using warning level. #tests ran editor build and queued up an event using the console command, then quit immediately. the log indeed showed that HttpManager had to wait at least 0.5 seconds for the request to complete. Change 2966987 on 2016/05/05 by Dmitry.Rekman Fix editor build. #tests Compiled Win64 editor. Change 2966977 on 2016/05/05 by Dmitry.Rekman Added collecting and reporting periodic server frame time distribution. - Added generic FHistogram class and necessary analytic events. - Also added reporting hostname (OR-20842). #tests Built Linux server and ran a few matches on a compatible content. Change 2966920 on 2016/05/04 by jason.bestimt #ROBOMERGE-AUTHOR: jason.bestimt #ORION_MAIN - Merge 25.2 @ CL 2966805 #RB:none #Tests:none #ROBOMERGE-SOURCE: CL 2966919 in //Orion/Main/... #ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 2966778 on 2016/05/04 by Michael.Noland Rendering: Fixed shadow variable warning in GPUProfiler #tests Compiled and tested GPUProfiler command Change 2966769 on 2016/05/04 by Mieszko.Zielinski Fixed GraphAStar not resetting the output path before fillinf it with results #UE4 #test golden path Change 2966704 on 2016/05/04 by Michael.Noland Rendering: Added triangle and draw call summaries to ProfileGPU output, broken up by asset and material - This is controlled by r.ProfileGPU.PrintAssetSummary, which defaults to 1, but you really need r.ShowMaterialDrawEvents 1 enabled as well for a complete picture - It can also output a summary line for speciifc asset names using a comma separated list in r.ProfileGPU.AssetSummaryCallOuts (e.g., "LOD,HeroName") #tests Used ProfileGPU a number of times Change 2966696 on 2016/05/04 by Michael.Noland Engine: Embedded FPS chart preamble/postamble/row .html files into ChartCreation.cpp to permanently solve packaging woes #tests Tested FPS charts in an uncooked and cooked build #jira OR-19713 Change 2966336 on 2016/05/04 by Lukasz.Furman fixed jungle minions unable to reach spawn locations when camp resets #jira OR-20700 #tests jungle camp POC Change 2965948 on 2016/05/04 by David.Ratti Changes to how passive abilities activate -Passives now continually try to activate by default rather than only on spawn Support for Status.Immortal -Prevents death, fies AbilityTriggerEvent.ImmortalProc when this happens. -Clamps health to 1. Fixed bug in muriel passive where ShieldHealthRegen would be left in the world where muriel died. Fixed bunch of crap in GA_OnSpawn that was causing desync on client at start of match #tests multi pie Change 2965870 on 2016/05/04 by Ryan.Gerleve Duplicated fix from Release-4.12 by marc.audy, CL 2960819: Owned components are once again referenced by their Owning actor for GC purposes #jira UE-29131 #tests golden path Change 2965798 on 2016/05/04 by jason.bestimt #ROBOMERGE-AUTHOR: jason.bestimt #ORION_MAIN - Merge 25.2 @ CL 2965789 #RB:none #Tests:none #ROBOMERGE-SOURCE: CL 2965796 in //Orion/Main/... #ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 2965220 on 2016/05/03 by Dmitry.Rekman Log instance id and system id (OR-20782). - These ids get reported in multiple analytics events, having them logged is helpful for quickly mapping events to the log file. #tests Compiled Linux server, ran on compatible client. Change 2964907 on 2016/05/03 by Jason.Bestimt #ORION_DG - Merge MAIN @ CL 2964858 #RB:none #Tests:none Change 2964530 on 2016/05/03 by Laurent.Delayen Renamed GetSlotRootMotionWeight to GetSlotNodeGlobalWeight and made it double buffered to it's safe to access anytime. Added GetSlotMontageGlobalWeight() to get the Global Weight of a montage being played on a Slot. (Also double buffered). Added GetInstanceMachineWeight() to get Global Weight of a State Machine in the AnimGraph. (Also double buffered) Added FAnimInstanceProxy::GetStateMachineIndexAndDescription to avoid searching through the AnimNodeProperties twice. #tests Chains full feature system in PIE. Change 2964498 on 2016/05/03 by Frank.Fella DecalComponent - Fix visibility so that it behaves like other scene components with regard to the editor visibility, component visibility, and actor hidden in game flags. #RB Andrew Rodham #TESTS Visibility for decals works like other scene components in the editor, and their visibility can now be animated properly by sequencer. Change 2964428 on 2016/05/03 by Benn.Gallagher Fixed stale clothing chunk/section references after container realloc in editor #tests editor Change 2964316 on 2016/05/03 by bruce.nesbit Banner revisions Banners now use components for various banner items Banners can now be enabled when killing a hero. #tests PIE+Game Change 2964187 on 2016/05/03 by Jon.Lietz Speeding up the tag count check in UAbilitySystemComponent::RegisterAndCallGameplayTagEvent() - Remove the call to GetAggregatedStackCount and creating a FGameplayEffectQuery every time we call RegisterAndCallGameplayTagEvent - Added GetTagCount to the UAbilitySystemComponent that will call GetTagCount on the GameplayTagCountContainer #RB DanY #tests JIP shadow pad still works. Change 2964136 on 2016/05/03 by Laurent.Delayen Fix crash while switching tabs using Persona. #tests not crashing anymore. Change 2964083 on 2016/05/03 by jason.bestimt #ROBOMERGE-AUTHOR: jason.bestimt #ORION_MAIN - Merge 25.2 @ CL 2963929 [CodeReviewed]: andrew.grant HTTP Manager has larger stack size (1024) #RB:none #Tests:none #ROBOMERGE-SOURCE: CL 2964080 in //Orion/Main/... #ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 2963771 on 2016/05/02 by Nick.Atamas Setting a desired size scale invalidates layout and volatility. #test none Change 2963555 on 2016/05/02 by Rob.Cannaday Fix PS4 Orion players being able to whisper chat with non-Orion players #jira OR-20626 #tests chat with launcher, fortnite Change 2963387 on 2016/05/02 by Laurent.Delayen Added GatherDebugData to FABRIK node. #tests showdebug animation works on Chains now. Change 2963331 on 2016/05/02 by Jon.Lietz fixing compile error, dont need the clamp just the ternary on the EventType and pass down the tag count or 1. #RB none #tests compiles Change 2963106 on 2016/05/02 by Rob.Cannaday Increase HTTP thread's stack size to 128k We discovered a stack overflow when the stack size was 64kb in LavasoftTcpService64.dll (Ad-Aware's Lavasoft Web Companion) #tests log in Change 2963047 on 2016/05/02 by Jon.Lietz OR-20206 for JIP we need to call the bound function if we already have the tag on reconnect. - adding a new function in UAbilitySystemComponent, RegisterAndCallGameplayTagEvent this will bind the passed in delegate and if the ability system has that tag already will execute the delegate. #RB Dave.Ratti #test shadow pad, slow, stun and root still trigger and trigger for JIP players. Change 2962836 on 2016/05/02 by jason.bestimt #ROBOMERGE-AUTHOR: andrew.grant [NULL MERGE] Duplicating 2961899 - Fix minimal code builds for Linux not overwriting files [CodeReviewed] Ben.Marsh #ROBOMERGE-SOURCE: CL 2962812 in //Orion/Release-0.24.2/... via CL 2962830 via CL 2962833 via CL 2962834 via CL 2962835 #ROBOMERGE-BOT: ORION (Main -> Dev-General) Change 2962570 on 2016/05/02 by Jason.Bestimt #ORION_MAIN - Merge MAIN @ CL 2962544 #RB:none #Tests:none Change 2962552 on 2016/05/02 by Ben.Marsh Avoid output of warnings containing the string "error:" (and causing the EC post processor to fail the build) if posting build info has a human-readable error message instead. Output should probably be changed to parse out/sanitize the actual failure message if it's meant to retry and succeed, but this will stop failures caused by multiple builds being posted with the same build version. #tests none Change 2962506 on 2016/05/02 by Ben.Marsh Add a version string to identify a given build (FApp::GetBuildVersion()/BUILD_VERSION) which is distinct from the engine version. Defaults to <Escaped Branch Name>-CL-<Changelist>, but can be overriden by specifying a -Build=... argument to UpdateLocalVersion or the "Build" attribute to the SetVersion BuildGraph task. #tests Preflighted Win64 client/server build (P:\Builds\Orion\++Orion+Dev-General-CL-2962228-PF-2945494-6398155-PF-2945494-6398155) and loaded into Agora. Checked that version strings appear correctly in generated executables. Change 2962228 on 2016/04/30 by Dmitry.Rekman Move processing HTTP requests into separate thread (OR-20723). - First iteration of the implementation, pending implementing feedback. - Adds a separate thread for CurlHttp where actual processing is performed. - Coded by RobC, post-processed by me. #tests Compiled Linux server and Windows client, ran them on compatible content, played a match. Change 2961899 on 2016/04/29 by Ben.Marsh BuildGraph: Fix minimal Linux server builds not overwriting the existing executables, by adding an "Overwrite" parameter into the staging task. Windows exe-only patches already happen to bypass this bug by deleting the Binaries/Win64 directory (designed to remove any configurations that weren't built this time), but could still fail if changes had been made to some other staged binaries. #tests preflighted code-only build against DG CL 2960870 and compared output (P:\Builds\Orion\++Orion+Dev-General-CL-2961878-PF-2961895-6393603) Change 2961587 on 2016/04/29 by Daniel.Lamb Redirector doesn't fire callback if it fails to be loaded. #test Cook orion. Change 2961458 on 2016/04/29 by Wes.Hunt Cooker Stats improvements. Also removed some old UBT telemetry that was not being used. #tests many cooks of orion Change 2961136 on 2016/04/29 by Daniel.Lamb Readded caching of platform data into postload of materials. #test Cook paragon. [CL 2979220 by Ben Marsh in Main branch]
2016-05-16 16:20:52 -04:00
#elif PLATFORM_PS4
# include "PS4/PS4PlatformWebBrowser.h"
#elif WITH_CEF3
# include "CEF/CEFWebBrowserWindow.h"
#else
# define DUMMY_WEB_BROWSER 1
#endif
#define LOCTEXT_NAMESPACE "WebBrowser"
SWebBrowserView::SWebBrowserView()
{
}
SWebBrowserView::~SWebBrowserView()
{
if (BrowserWindow.IsValid())
{
BrowserWindow->OnDocumentStateChanged().RemoveAll(this);
BrowserWindow->OnNeedsRedraw().RemoveAll(this);
BrowserWindow->OnTitleChanged().RemoveAll(this);
BrowserWindow->OnUrlChanged().RemoveAll(this);
BrowserWindow->OnToolTip().RemoveAll(this);
BrowserWindow->OnShowPopup().RemoveAll(this);
BrowserWindow->OnDismissPopup().RemoveAll(this);
BrowserWindow->OnShowDialog().Unbind();
BrowserWindow->OnDismissAllDialogs().Unbind();
BrowserWindow->OnCreateWindow().Unbind();
BrowserWindow->OnCloseWindow().Unbind();
if (BrowserWindow->OnBeforeBrowse().IsBoundToObject(this))
{
BrowserWindow->OnBeforeBrowse().Unbind();
}
if (BrowserWindow->OnLoadUrl().IsBoundToObject(this))
{
BrowserWindow->OnLoadUrl().Unbind();
}
if (BrowserWindow->OnBeforePopup().IsBoundToObject(this))
{
BrowserWindow->OnBeforePopup().Unbind();
}
}
if (SlateParentWindowSetupTickHandle.IsValid())
{
FTicker::GetCoreTicker().RemoveTicker(SlateParentWindowSetupTickHandle);
SlateParentWindowSetupTickHandle.Reset();
}
if (SlateParentWindowPtr.IsValid())
{
SlateParentWindowPtr.Pin()->GetOnWindowDeactivatedEvent().RemoveAll(this);
}
}
void SWebBrowserView::Construct(const FArguments& InArgs, const TSharedPtr<IWebBrowserWindow>& InWebBrowserWindow)
{
OnLoadCompleted = InArgs._OnLoadCompleted;
OnLoadError = InArgs._OnLoadError;
OnLoadStarted = InArgs._OnLoadStarted;
OnTitleChanged = InArgs._OnTitleChanged;
OnUrlChanged = InArgs._OnUrlChanged;
OnBeforeNavigation = InArgs._OnBeforeNavigation;
OnLoadUrl = InArgs._OnLoadUrl;
OnShowDialog = InArgs._OnShowDialog;
OnDismissAllDialogs = InArgs._OnDismissAllDialogs;
OnBeforePopup = InArgs._OnBeforePopup;
OnCreateWindow = InArgs._OnCreateWindow;
OnCloseWindow = InArgs._OnCloseWindow;
AddressBarUrl = FText::FromString(InArgs._InitialURL);
PopupMenuMethod = InArgs._PopupMenuMethod;
BrowserWindow = InWebBrowserWindow;
if(!BrowserWindow.IsValid())
{
static bool AllowCEF = !FParse::Param(FCommandLine::Get(), TEXT("nocef"));
if (AllowCEF)
{
FCreateBrowserWindowSettings Settings;
Settings.InitialURL = InArgs._InitialURL;
Settings.bUseTransparency = InArgs._SupportsTransparency;
Settings.bThumbMouseButtonNavigation = InArgs._SupportsThumbMouseButtonNavigation;
Settings.ContentsToLoad = InArgs._ContentsToLoad;
Settings.bShowErrorMessage = InArgs._ShowErrorMessage;
Settings.BackgroundColor = InArgs._BackgroundColor;
Settings.Context = InArgs._ContextSettings;
BrowserWindow = IWebBrowserModule::Get().GetSingleton()->CreateBrowserWindow(Settings);
}
}
SlateParentWindowPtr = InArgs._ParentWindow;
if (BrowserWindow.IsValid())
{
#ifndef DUMMY_WEB_BROWSER
// The inner widget creation is handled by the WebBrowserWindow implementation.
const auto& BrowserWidgetRef = static_cast<FWebBrowserWindow*>(BrowserWindow.Get())->CreateWidget();
ChildSlot
[
BrowserWidgetRef
];
BrowserWidget = BrowserWidgetRef;
#endif
if(OnCreateWindow.IsBound())
{
BrowserWindow->OnCreateWindow().BindSP(this, &SWebBrowserView::HandleCreateWindow);
}
if(OnCloseWindow.IsBound())
{
BrowserWindow->OnCloseWindow().BindSP(this, &SWebBrowserView::HandleCloseWindow);
}
BrowserWindow->OnDocumentStateChanged().AddSP(this, &SWebBrowserView::HandleBrowserWindowDocumentStateChanged);
BrowserWindow->OnNeedsRedraw().AddSP(this, &SWebBrowserView::HandleBrowserWindowNeedsRedraw);
BrowserWindow->OnTitleChanged().AddSP(this, &SWebBrowserView::HandleTitleChanged);
BrowserWindow->OnUrlChanged().AddSP(this, &SWebBrowserView::HandleUrlChanged);
BrowserWindow->OnToolTip().AddSP(this, &SWebBrowserView::HandleToolTip);
if (!BrowserWindow->OnBeforeBrowse().IsBound())
{
BrowserWindow->OnBeforeBrowse().BindSP(this, &SWebBrowserView::HandleBeforeNavigation);
}
else
{
check(!OnBeforeNavigation.IsBound());
}
if (!BrowserWindow->OnLoadUrl().IsBound())
{
BrowserWindow->OnLoadUrl().BindSP(this, &SWebBrowserView::HandleLoadUrl);
}
else
{
check(!OnLoadUrl.IsBound());
}
if (!BrowserWindow->OnBeforePopup().IsBound())
{
BrowserWindow->OnBeforePopup().BindSP(this, &SWebBrowserView::HandleBeforePopup);
}
else
{
check(!OnBeforePopup.IsBound());
}
BrowserWindow->OnShowDialog().BindSP(this, &SWebBrowserView::HandleShowDialog);
BrowserWindow->OnDismissAllDialogs().BindSP(this, &SWebBrowserView::HandleDismissAllDialogs);
BrowserWindow->OnShowPopup().AddSP(this, &SWebBrowserView::HandleShowPopup);
BrowserWindow->OnDismissPopup().AddSP(this, &SWebBrowserView::HandleDismissPopup);
BrowserWindow->OnSuppressContextMenu().BindSP(this, &SWebBrowserView::HandleSuppressContextMenu);
OnSuppressContextMenu = InArgs._OnSuppressContextMenu;
BrowserViewport = MakeShareable(new FWebBrowserViewport(BrowserWindow));
#if WITH_CEF3
BrowserWidget->SetViewportInterface(BrowserViewport.ToSharedRef());
#endif
SetupParentWindowHandlers();
// If we could not obtain the parent window during widget construction, we'll defer and keep trying.
if (!SlateParentWindowPtr.IsValid())
{
SlateParentWindowSetupTickHandle = FTicker::GetCoreTicker().AddTicker(FTickerDelegate::CreateLambda([this](float) -> bool
{
this->SetupParentWindowHandlers();
bool ContinueTick = !SlateParentWindowPtr.IsValid();
return ContinueTick;
}));
}
Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3147796) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 2948319 on 2016/04/19 by Nick.Shin update zlib to v1.2.8 part 1 of 4 - doing this in stages for tracking purposes #jira UEPLAT-1246 - Update libWebsockets #jira UEPLAT-1221 - update websocket library Change 2948322 on 2016/04/19 by Nick.Shin update libwebsockets to v1.7.4 part 4 of 4 - doing this in stages for tracking purposes #jira UEPLAT-1246 - Update libWebsockets #jira UEPLAT-1221 - update websocket library #jira UEPLAT-1204 - Rebuild libwebsockets with SSL Change 2948661 on 2016/04/19 by Nick.Shin keep using old zlibs until they are recompiled with the newer version Change 2948737 on 2016/04/19 by Nick.Shin build warning fix Change 2949334 on 2016/04/20 by Nick.Shin fix library path for some reason, NetworkFileSystem and HttpNetworkReplayStreaming on Mac platform needs full path - even though lib path was set... Change 2951556 on 2016/04/21 by Nick.Shin static libs double checked #jira UE-29674 - Editor fails to open in Dev-Platform Change 2951559 on 2016/04/21 by Nick.Shin static libs double checked forgot these files - they were in another changelist #jira UE-29674 - Editor fails to open in Dev-Platform Change 2952411 on 2016/04/22 by Nick.Shin add win32 build targets for zlib openssl libcurl libwebsockets part 1 of 2: these are the C# build scripts Change 2970016 on 2016/05/07 by Nick.Shin undo all of the following upgrades: - zlib - openssl - libcurl - libwebsockets and reset webrtc #jira UE-30298 - Fortnite and Orion crash on login Change 3118163 on 2016/09/08 by Josh.Adams perm test 2, not a useful file at all Change 3121142 on 2016/09/12 by Daniel.Lamb Attempt to fix deterministic cooking issue for particlelodlevel. Ensure the spawn module has had postload called on it before using. #test Paragon cook Change 3121150 on 2016/09/12 by Daniel.Lamb Added warning logs to help track down issue UE-33453. Change 3121201 on 2016/09/12 by Keith.Judge Xbox One - Replicate CL 3114357 from 4.13 branch. ESRAM clear on create fix. Change 3121302 on 2016/09/12 by Joe.Graf Fixed up the IMPLEMENT_MODULE macro usage to avoid the link errors Change 3121379 on 2016/09/12 by Dmitry.Rekman Linux: only link libraries that export needed symbols (UE-35720). - Fixes very long startup times of modular builds. - Includes PR #2778 by slonopotamus. #jira UE-35720 Change 3121383 on 2016/09/12 by Dmitry.Rekman Linux: added some missing _API declarations on symbols used externally. - Compiling editor with -fvisibility=hidden works after this fix (although running still doesn't). Change 3121456 on 2016/09/12 by Daniel.Lamb Attempt to fix deterministic cooking issue for particlelodlevel. Ensure the spawn module has had postload called on it before using. #test Paragon cook Change 3122939 on 2016/09/13 by Luke.Thatcher [PLATFORM] [PS4] [!] Skip orbismemdmp files in the PS4 crash handler web service. - Writing these files to disk causes orbis-tm.exe to take a file lock on them, which means we can't move the crash directory to the landing zone. Change 3123040 on 2016/09/13 by Brent.Pease + Fix VS compile error by removing ENGINE_API from virtual method decls since ENGINE_API is defined for the entire class now. Change 3123664 on 2016/09/13 by Nick.Shin this was originally checked into: release 4.13.1 bringing here to dev-platform -- original submit comments -- first, safari has a problem with firing off "window resized" events - causing an infinite loop of the window "resizing" next, retina has "bigger" size calculations going off -- so y-delta checks greater than 2 are done to prevent resize event firing off in an infinite loop jira UE-35363 - Huge game window when launching onto Safari 9.1.2 Change 3125282 on 2016/09/14 by Michael.Trepka Fixed iOS and tvOS code indexing in Xcode project Change 3126812 on 2016/09/15 by Josh.Adams Merged Wolf support into Dev-Platform (hidden from almost all people still). Non-Wolf-specific changes: - Added Parse function to JsonObject.cs to be able to parse a string - Replaced some hacky post-reflection-capture functions with RHISubmitCommandsAndFlushGPU() - Split PLATFORM_HAS_BSD_SOCKET_FEATURE_GETADDRINFO off from PLATFORM_HAS_BSD_SOCKET_FEATURE_GETHOSTNAME - Converted the PS4MallocCrash class into a generic one (that Wolf is now also using) - Added AddGenericToInQueueOnlineThread(), useful running a delegate on Online thread instead of game thread - Refactored the GL shader compiler to allow Wolf to modify behavior without a lot of if WOLF checks everywhere - Added ability in the cross compiler to convert the global uniform arrays into named uniform buffer objects - Added ability for GL shader compiler to output original resources names ("VertColor" instead of "u_v[3]" or whatever) - Added "FORCELODGROUP" console command that will apply a StaticMesh LODGroup to selected meshes in the editor. This can batch-Simplygonify all meshes in a level. Should maybe become an editor tool. - Added ability for arrays of structs to specify a property to be the key. So, with LODGroups, the Name key inside the struct can be the unique key, so when you have multiple .ini files in the hierarchy overriding the same LODGroup by name, it will repalce the first with the second, instead of adding two entries with the same name. Set by @ArrayName=KeyPropertyName. Per Object Config sections need a little different handling, which uses * (see BaseDeviceProfiles.ini) - Added ability to change DeviceProfiles at runtime. Use "dp.override <name>". If you do it again to another one, it will reset the settings to what they were originally, before applying the second new DP. This is because the second DP may not set all settings the first one did, but we want to undo the first settings that the second doesn't contain. - Added FRHICommandListImmediate::IsStalled() - returns true while FRHICommandListImmediate::StallRHIThread is happening - Changed runtime GetFeatureLevelMaxTextureSamplers() calls to the new GetMaxTextureSamplers() which can now be handled by the platform. Renamed GetFeatureLevelMaxTextureSamplers to GetExpectedFeatureLevelMaxTextureSamplers() (only used by the shader editor) to guess at what maybe the samplers count will be - but it's not guaranteed correct. - Renamed a UT copy of a global function to not linker-conflict - Changed the OOMBackupMemoryPool to allow each platform to set how much memory to allocate. See FPlatformMemory::GetBackMemoryPoolSize(). Defaults to 0, which was the previous behavior with the now removed FPlatformMemory::SupportBackupMemoryPool(), which was only true in Windows and PS4. - Added an OOM delegate so other systems can get a callback after OOM occurs (after deleting the backup memory pool if it exists) - Changed SetQualityLevels() (in Scalability.cpp) to no longer change the SetBy priority when setting CVars, and now keeps the SetBy the same as it was. Helps with conflicts between game settings and device profiles. See SetWithCurrentPriority() - Added GetRenderingThreadPriority to FPlatformAffinity to allow a platform override priority. Not sure about this one, so may remove it, or maybe add more priorities for all the threads? - Added a new file into the ini hierarchy to begin fixing the Engine/Base -> Project/Default -> Engine/Platform -> Project/Platform mess. We now have Engine/Base -> Engine/BasePlatform -> Project/Default -> Engine/Platform -> Project/Platform. However, Engine/Platform will soonm be deprecated as we move things over to Engine/BasePlatform, that are safe to move. Change 3126842 on 2016/09/15 by Michael.Trepka Make SAssertPicker's search box the default widget to focus on activate so that it doesn't get deactivated on Mac, where we get the window activation event in a tick after SAssertPicker creation. Change 3126956 on 2016/09/15 by Michael.Trepka Added support for compiling Vulkan shaders for Android on Mac Change 3127206 on 2016/09/15 by Michael.Trepka PR #2604: Remove some warnings. (Contributed by reapazor) Change 3127324 on 2016/09/15 by Michael.Trepka Allow third party dylibs on Mac to be loaded from plugin subfolders Change 3127924 on 2016/09/16 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3128369 on 2016/09/16 by Nick.Shin zlib 1.2.8 headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128377 on 2016/09/16 by Nick.Shin openssl 1_0_2h headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128383 on 2016/09/16 by Nick.Shin libcurl 7_48_0 headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128384 on 2016/09/16 by Nick.Shin libwebsockets 1.7.4 headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128464 on 2016/09/16 by Nick.Shin webRTC rev.12643 NOTE: VS2015 - only Win64 is available - Win32 versions is crashing (e.g. EpicGamesLauncher) at the moment NOTE: VS2013 - not tested (i'm working on getting a VS2013 pro license) - so not checking in with this changelist - also, VS2013 is no longer supported by webRTC build scripts, so it will be old anyways FUTURE NOTE: - will continue to try to get VS2015 Win32 functional - and am working on trying to get VS2013 tested headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128500 on 2016/09/16 by Nick.Shin zlib 1.2.8 - OSX headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128504 on 2016/09/16 by Nick.Shin openssl 1_0_2h - OSX headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128506 on 2016/09/16 by Nick.Shin libcurl 7_48_0 - OSX headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128508 on 2016/09/16 by Nick.Shin libwebsockets 1.7.4 - OSX headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128513 on 2016/09/16 by Nick.Shin webRTC rev.12643 - OSX headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128602 on 2016/09/16 by Nick.Shin webRTC rev.9862 - Win64 VS2013 NOTE: - not tested (i'm working on getting a VS2013 pro license) - checking in for testing purposes WARNING: - VS2013 is no longer supported by webRTC latest headers and lib updates part of [ zlib openssl libcurl libwebsockets webrtc ] updates Change 3128605 on 2016/09/16 by Nick.Shin re-enabling updated ThirdParySoftware libs: - zlib (v.1.2.8) - openssl (1.0.2h) - libcurl (7_48_0) - libwebsocket (v.1.7.4) - webRTC (rev.12643) to the codereviewers, in my attempt to ensure the older libs are still used for console, mobile and linux -- please refer to this checkin if i broke the build... Change 3128651 on 2016/09/16 by Nick.Shin fix Win32 build error from CL: #3128605 Change 3128704 on 2016/09/16 by Nick.Shin fix Win32 build error from CL: #3128605 - this time actually compiling it... Change 3128825 on 2016/09/16 by Dmitry.Rekman Linux: proper fix for too slow startup times (UE-35967). - Pull request #2793 by slonopotamus. - Now without stripping dependencies on libraries specified before. - Contains a work around for ld bug <2.25. Change 3128972 on 2016/09/16 by Nick.Shin fix to local build error. Change 3129283 on 2016/09/16 by Brent.Pease + Add Android local notification support based on existing system used for iOS + Initial API has been added for cancelling local notifications but the actual platform implementation will be done in the next release Change 3129494 on 2016/09/17 by Nick.Shin fix CIS build errors Change 3129503 on 2016/09/17 by Dmitry.Rekman Fix Linux build (case sensitivity issue). Change 3129514 on 2016/09/17 by Nick.Shin fix CIS build errors for consoles - missing zlib include path special thanks to Dmitry.Rekman for pointing me in the right direction Change 3129647 on 2016/09/17 by Dmitry.Rekman Linux: fix non-unity build. Change 3131043 on 2016/09/19 by Nick.Shin archiving build instructions/steps when building: - zlib (v.1.2.8) win: #3128369 osx: #3128500 - openssl (1.0.2h) win: #3128377 osx: #3128504 - libcurl (7_48_0) win: #3128383 osx: #3128506 - libwebsocket (v.1.7.4) win: #3128384 osx: #3128508 - webRTC win: #3128464 (rev.12643 for vs2015) + 3128602 (rev:9862 for vs2013) -- NOTE: win32 is WiP osx: #3128513 Change 3132801 on 2016/09/20 by Dmitry.Rekman Linux: support specifying default OpenGL version via configs (UE-34777). - The first targeted RHI is going to be used. Change 3132905 on 2016/09/20 by Josh.Adams - Fixed up some paths with the WolfPlat rename Change 3133148 on 2016/09/20 by Josh.Adams - Only show UT EULA if PLATFORM_DESKTOP Change 3133152 on 2016/09/20 by Josh.Adams - Beginning support for applets. Disabled unless you have a special SDK with applet support. Change 3133169 on 2016/09/20 by Josh.Adams - Fixed issue with Wolf access but no SDK installed Change 3133344 on 2016/09/20 by Daniel.Lamb Fixed issue with Iterative cooking not detecting changes to ini files which are loaded using LoadLocalFile. Added new flag to limit number of concurrent shader compiles. #test Cook QAGame, Cook Paragon Change 3133345 on 2016/09/20 by Daniel.Lamb FRedirectCollector collects string asset references all the time when running the editor. #test Cook paragon cook QAGame. Change 3133852 on 2016/09/21 by Luke.Thatcher [PLATFORM] [PS4] [^] Performing merge between 3.508.201 LCUE files in CarefullyRedist and Dev-Platform to populate integration history. No files have actually changed in this CL, only Perforce metadata is updated. Change 3133875 on 2016/09/21 by Luke.Thatcher [PLATFORM] [PS4] [^] Performing merge between 3.508.201 LCUE files in CarefullyRedist and Dev-Platform to populate integration history. No files have actually changed in this CL, only Perforce metadata is updated. (Attempt 2) Change 3134403 on 2016/09/21 by Jonathan.Fitzpatrick Per PS4 documentation, app_type requires the alternate spelling of 'upgradeable', 'upgradable'. Change 3134544 on 2016/09/21 by Josh.Adams - Reduced UT textures for Wolf Change 3134915 on 2016/09/21 by Jonathan.Fitzpatrick FPS4Time::SystemTime now calculates the local machine time, instead of UTC. #jira UE-35170 Change 3135036 on 2016/09/21 by Michael.Trepka Quit the UE4EditorServices app when quitting the Launcher if it was the launcher that spawned the services process Change 3135142 on 2016/09/21 by Jonathan.Fitzpatrick GetBackMemoryPoolSize returned bool on PS4 by accident, should be uint32 Change 3135292 on 2016/09/21 by Jeff.Campeau Change include order to favor the XDK edition specific headers where available. Change 3136414 on 2016/09/22 by Josh.Adams - Fixed a checkf() that had the case reversed #jira ue-36311 Change 3137082 on 2016/09/22 by Dmitry.Rekman Added support for Linux installed builds to 4.14 Change 3137220 on 2016/09/22 by Dmitry.Rekman Linux: do not rebuild hlslcc on each setup. - Now that hlslcc is set to use bundled libc++ there should be no STL binary compatibility conflicts between the engine and hlslcc binary. Change 3137227 on 2016/09/22 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3137259 on 2016/09/22 by Dmitry.Rekman Linux installed build: fix CIS (missed one .csproj) Change 3137290 on 2016/09/22 by Dmitry.Rekman Linux installed builds: fix for the resulting directory. Change 3137291 on 2016/09/22 by Chris.Babcock Restore texture filtering mode properly when movie played on Android #jira UE-36342 #ue4 #android Change 3137376 on 2016/09/22 by Dmitry.Rekman Linux: re-enabled crash handler stack smash protection. - Race condition in FRunnableThreadPThread has been previously fixed. Change 3138498 on 2016/09/23 by Dmitry.Rekman Linux: add missed package for installed builds. - mono-devel package for resgen2. Change 3138523 on 2016/09/23 by Dmitry.Rekman Linux: Update hlslcc now that we're not rebuilding it each time. Change 3138658 on 2016/09/23 by Josh.Adams - Moved UT's Social Plugin into NotForLicensees Change 3139042 on 2016/09/23 by Dmitry.Rekman Linux: more robust check of installed packages. - Also added mono-devel to the list of packages installed on 14.04. Change 3139674 on 2016/09/26 by Dmitry.Rekman Fix crash when editing widget blueprints (UE-35185). - Caused by name collision due to copy/pasted code; aliased classes diverged and this resulted in all kinds of weird memory stomping. - Renamed the class and also applied the same workaround (removing static) to prevent likely crashes on exit as happened with the original class (see UE-30795). Change 3140203 on 2016/09/26 by Josh.Adams - Wolf Fix for SHIPPING Change 3140206 on 2016/09/26 by Josh.Adams - NEX work, still in progress Change 3140276 on 2016/09/26 by Josh.Adams - Fixed Wolf compile error Change 3140485 on 2016/09/26 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3140570 on 2016/09/26 by Dmitry.Rekman SDL2: Delete obsolete files. - We now have local changes to SDL2, so this tarball is no longer accurate and just takes unnecessary space. Change 3140577 on 2016/09/26 by Dmitry.Rekman Fix CudaTest monolithic build. - Not the best fix, the better fix is to build against bundled libc++. Change 3141184 on 2016/09/27 by Keith.Judge Add FXboxOneApplication::GetXboxOneApplication to fix a save/load game assert. #jira UE-35973 Change 3141623 on 2016/09/27 by Chris.Babcock Support hiding virtual keyboard on Android #jira UE-34201 #ue4 #android Change 3141887 on 2016/09/27 by Joe.Graf Added support for additional plugin directories that are specified by the .uproject file New plugin wizard adds to the additional plugin directories if the user specifies a directory outside of Engine/Plugins or Game/Plugins Change 3141916 on 2016/09/27 by Josh.Adams - Worked around compile issues (at least with Wolf UT). This is well documented in a Jira (UE-29925) Change 3141926 on 2016/09/27 by Josh.Adams - Support for skipping Wolf user selector (-nologinui) Change 3141938 on 2016/09/27 by Chris.Babcock Allow Android media player to seek past 999ms (contributed by rcywongaa) #jira UE-36453 #PR #2797 #ue4 #android Change 3142207 on 2016/09/27 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3142219 on 2016/09/27 by Josh.Adams - Wolf PhysX 3.4 libs and includes Change 3142220 on 2016/09/27 by Josh.Adams - File that had to be fixed up after main merge (missed adding it to the huge integrate CL) Change 3142314 on 2016/09/27 by Chase.McAllister #jira UE-35011 fixes to some assets to remove redundancies/output log spam Change 3142510 on 2016/09/27 by Daniel.Lamb Fixed up resave lightmaps commandlet so that world transforms don't get applied twice. #jira UE-35942 Change 3142650 on 2016/09/27 by Chris.Babcock Android support for Linux by yaakuro - requires CodeWorks for Android Linux installed and OpenJDK 1.8 - need to set Android SDK paths manually in Project Settings #jira UE-32752 #jira UE-32753 #PR #2564 #PR #2565 #ue4 #android #linux Change 3142802 on 2016/09/27 by Dmitry.Rekman Upgrade to SDL 2.0.5-ish (still technically 2.0.4). - Upstream revision 10374:dccf51aee79b. - Merged all our changes hopefully. Change 3143075 on 2016/09/28 by Luke.Thatcher [RENDERING] [~] Add check to FBatchedElements::AddSprite to catch null textures. If the texture is null here, we will crash later in the RHI. At least now we'll get the callstack of the code adding the null textured sprite, since I don't have a repro. #jira UE-33077 Change 3143219 on 2016/09/28 by Daniel.Lamb Added new is compiling function which tells you if it's really compiling instead of lying. If def out additional logging for debugging shader compilation issue for 4.14 release. Change 3143428 on 2016/09/28 by Luke.Thatcher [PLATFORM] [PS4] [+] Use PS4 SDK 4.008.061 Change 3143488 on 2016/09/28 by Daniel.Lamb Changed defaults for skip cooking editor content to true. Change 3143526 on 2016/09/28 by Daniel.Lamb Increased the concurrent shader compile limit while in the cooker. #test Cook paragon Change 3143874 on 2016/09/28 by Chris.Babcock Read Android environment variables from .bashrc on Linux #jira UE-36565 #ue4 #android #linux Change 3143911 on 2016/09/28 by Dmitry.Rekman Fix SDL EGL API binding (UE-18979). - Contains PR #1398 by x414e54. - Also fixes offscreen backend that needed to provide a global mouse state after the SDL upgrade. Change 3143929 on 2016/09/28 by Daniel.Lamb Removed some more temporary logging. #test Cook paragon Change 3143959 on 2016/09/28 by Jeff.Campeau Media Player for Xbox One Change 3143997 on 2016/09/28 by Dmitry.Rekman Linux: faster linking in Debug. - Do not apply --as-needed to Debug build since taking a hit of several tens of seconds on startup is better than linking for ~4 more minutes when iterating. Change 3144004 on 2016/09/28 by Dmitry.Rekman Linux: make SCW dump core on crash in debug builds. - If the editor (not SCW itself) is built in Debug, make SCW dump cores if they ever crash. This makes it debug easier (at the risk of running of disk space). Change 3144007 on 2016/09/28 by Dmitry.Rekman Linux: Allow equals character in command line parameter value (UE-26406). - PR #2019 by bozzaro. - Allows passing parameters like -Switch=Key=Value. Change 3144042 on 2016/09/28 by Jeff.Campeau Add tag for DX12 support being experimental in target settings. #jira UE-36150 Change 3144068 on 2016/09/28 by Dmitry.Rekman Linux: enable using xgConsole in UAT (UE-28096). - PR #2144 by bozzaro. - Picks correct xgConsole binary. - Allegedly fixes crash in CombineXGEItemFile on mono. Change 3144120 on 2016/09/28 by Michael.Trepka Copying //Tasks/UE4/Dev-HighDPI/... to //UE4/Dev-Platform/... Change 3144172 on 2016/09/28 by Chris.Babcock Add libpng 1.5.27 for Android #jira UE-36573 #ue4 #android Change 3144318 on 2016/09/28 by Chris.Babcock Correct logic for checking .bashrc on Linux #ue4 #android Change 3144331 on 2016/09/28 by Dmitry.Rekman Linux: repair ARM server builds. - Also: print info about C++ library being used and allow the override via environment variable UE4_LINUX_USE_LIBCXX (either 0 or 1). Change 3144354 on 2016/09/28 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) this is intermediate, not fully working Change 3144368 on 2016/09/28 by Josh.Adams - Moved the new Social files into NFL Change 3144395 on 2016/09/28 by Chris.Babcock Add missing functions for AndroidWebBrowserWindow #ue4 #android Change 3144417 on 2016/09/28 by Josh.Adams - Probable fix for FWebBrowserWindow missing virtuals Change 3144438 on 2016/09/28 by Jeff.Campeau XDK updated to 160802 Change 3144569 on 2016/09/29 by Dmitry.Rekman Linux: allow a selectable clock source (UE-36564). - The engine will now select the best performing clock on start instead of hard-coding CLOCK_REALTIME. This will happen as part of global initialization before main() to prevent clock skew. - Also fixes a problem of the engine not being able to start on Windows 10 since previously hard-coded clock id was not supported there. #tests Compiled and ran a few targets (including non-monolithic). Tried bogus clock sources. Haven't actually tried on Win10 (don't have a machine atm). Change 3145108 on 2016/09/29 by Joe.Graf Fixed cases where path relative external plugin paths would generate the wrong path when running Unreal Header Tool (and probably other tools) Change 3145245 on 2016/09/29 by Joe.Graf #wolf Checking in removal of plugin use on Win64 per Josh's request Change 3145514 on 2016/09/29 by Will.Fissler Updated Mac Info.plist files to disable high DPI on macOS 10.12 Change 3145538 on 2016/09/29 by Josh.Adams - Worked around a physics task graph issue with using the new lock free stuff on Wolf, joining PS4 and XboxOne. Wolf was crashing on some boots. Change 3145540 on 2016/09/29 by Josh.Adams - Fix for checking some Wolf dev tool installation existence - Fix for various Wolf build issues - Fix for Wolf devices not showing up in Launch on Change 3145542 on 2016/09/29 by Josh.Adams - Pulled over Wolf changes from Wolf branch into Dev-Platform Change 3145572 on 2016/09/29 by Josh.Adams - Cleaned up Wolf SDK error logs which really messed up GenProjectFiles for some class of people. #jira UE-36591 Change 3145769 on 2016/09/29 by Chris.Babcock Remove duplicate platforms from deploy list in UFE #jira UE-36636 #ue4 Change 3146061 on 2016/09/29 by Chris.Babcock Linux: be less spammy in log when launching external procs #jira UE-36638 #ue4 #linux Change 3146208 on 2016/09/29 by Dmitry.Rekman Linux: fix PhysX crash (UE-36613). - PX_RESTRICT was unwarrantedly applied to memMove, allowing clang to replace the memmove() call to memcpy() at -O2 and above. - This caused PxArray::remove() to duplicate the elements of its array (in POD case) and this opened doors to all kinds of fun. #jira UE-36613 Change 3146476 on 2016/09/30 by Josh.Adams - Moved a UBT log that could pollute QA logs with Wolf secrets to Verbose Change 3146554 on 2016/09/30 by Josh.Adams - Removed another wolf secret log Change 3146626 on 2016/09/30 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3146712 on 2016/09/30 by Josh.Adams - Fixed case for building Android on Linux #jira #UE-36652 Change 3146844 on 2016/09/30 by Josh.Adams - Removed ES2 shader compiling from TVOS, and force Metal compiling #jira UE-36306 Change 3146865 on 2016/09/30 by Daniel.Lamb Removed temp logging for materials #test Launch on paragon Change 3146874 on 2016/09/30 by Dmitry.Rekman Linux: add rpath for libTextureConverter.so (UE-36620). Change 3147030 on 2016/09/30 by Josh.Adams - Version check workaround for IOS9.3/TVOS9.2 defining __IPHONE_10_0 which breaks our IOS10 code checks #jira UE-36623 Change 3147151 on 2016/09/30 by Josh.Adams - Fixed zlib.build.cs for XboxOne, which came in from another branch without an include path, yet somehow main is compiling? Change 3147621 on 2016/09/30 by Michael.Trepka Fix for setting up RPATHs for third party dylibs for packaged code-based games on Mac Change 3147712 on 2016/09/30 by Josh.Adams - Fixed metal crash StrategyGame crash. Recent code was checking IsES2Platform for HDR decoding in scene capture, and Metal hasn't been IsES2 since may. Changed to IsMobilePlatform. #jira UE-36225 Change 3147725 on 2016/09/30 by Josh.Adams - Fixed yet another Wolf log for people with Wolf access but no SDK [CL 3147801 by Josh Adams in Main branch]
2016-09-30 21:21:09 -04:00
BrowserWindow->SetParentWindow(InArgs._ParentWindow);
}
else
{
OnLoadError.ExecuteIfBound();
}
}
void SWebBrowserView::HandleWindowDeactivated()
{
if (BrowserViewport.IsValid())
{
BrowserViewport->OnFocusLost(FFocusEvent());
}
}
Copying //UE4/Portal-Staging to //UE4/Dev-Main (Source: //Portal/Main @ 3216504) #lockdown Nick.Penwarden #rb no one ========================== MAJOR FEATURES + CHANGES ========================== Change 3216141 on 2016/11/30 by Justin.Sargent Completed first ready to use pass of the new AutomationDriver module and new Spec test type. Change 3213288 on 2016/11/29 by Leigh.Swift #jira OPP-6353: CEF FName Javascript PROBLEM Removing deprecation of IWebBrowserSingleton::SetJSBindingToLoweringEnabled for now. Change 3212796 on 2016/11/29 by Leigh.Swift #jira OPP-6353: CEF FName Javascript PROBLEM Added SetJSBindingToLoweringEnabled to IWebBrowserSingleton so that the to-lowering of binding names can be disabled. Deprecated SetJSBindingToLoweringEnabled since 4.15. In future the to-lowering will always occurr. Adding GetBindingName helper to FWebJSScripting, which returns a to-lowered name for a UField, unless disabled. Updated all current binding code to use GetBindingName when building from UObjects/UStructs. This affects Windows, Mac, Linux, and Android. Portal currently disables to-lowering unless a commandline -LowercaseJS is provided. Change 3200370 on 2016/11/16 by Richard.Fawcett Ensure we always get the latest version of the user content catalog when promoting marketplace items. Change 3192974 on 2016/11/10 by Leigh.Swift #jira OPP-6365: Crash during shutdown if a manifest is still being downloaded This is because of the OnPreExit core delegate being used to null out the Data uobject member on a manifest, also being the only sensible way to ensure threads complete in a safe and clean manner. Refactoring BuildPatchServices manifest class to not permanently hold any UObject and simply just use one while serialising. This removes the reliance on the OnPreExit delegate from manifest class, making it generally safer behaviour for shutdown. Change 3187028 on 2016/11/04 by Leigh.Swift PortalPublishingTool: Adding UE_Main app to UnrealEngine project Change 3186788 on 2016/11/04 by Richard.Fawcett Change C# wrapper for BuildPatchTool patch generation to prevent clobbering manifest files by default, unless we specifically pass in an optional flag to allow this. #jira OPP-6355 Change 3186779 on 2016/11/04 by Richard.Fawcett Add support to automation tool testing framework for the following assertions: Assert.AreNotEqual(a, b, optionalFailureMessage) Assert.ThrowsError(actionToCarryOut, expectedExceptionType, optionalExceptionMessageContainsString) Moved attribute-based expected exception declarations to their own attribute, TestThrowsExceptionAttribute, which can now accept an optional parameter for a string which should be contained within the exception message. Fixed a bug where a test method with an attribute-based expected exception would not count towards the success total if the exception was encountered as expected. Fixed a bug where NOT throwing an exception when we were expecting one would count as a success. Added an internal property bDoNotLogTestFailsAsError which we can set to true to suppress logging of UAT errors when a test fails (but still count them in our failure results), to allow us to deliberately cause test failures to test the test framework! Added a suite of unit tests for the test framework itself, in TestRunner.Automation.Tests.cs. Change 3185411 on 2016/11/03 by Richard.Fawcett Allow Rocket_PromoteBuild changelist to be overridden by a changelist read from a file. Change 3184843 on 2016/11/03 by Richard.Fawcett Ensure catalog file synced during user content generation is always the latest one. Change 3184752 on 2016/11/03 by Richard.Fawcett Ensure we log reading changelist from specified file. Change 3184744 on 2016/11/03 by Richard.Fawcett Ensure directory is created for Changelist file if it doesn't already exist. Change 3184738 on 2016/11/03 by Richard.Fawcett Ensure we use latest CL from all of Perforce when generating build versions for user content Because of the nature of the build farm, where separate parts of the job are executed on different build agents at different times, this changelist is serialized to the filesystem during execution of a node dedicated to this task, and then made available to all future nodes, so that they're working with a consistent build version. In the case of an execution where we're updating Perforce with new content, this calculation of the changelist occurs AFTER we've updated Perforce with the new content. Have also optimized the build graph scripts to enable Mac and Windows user generated content to execute simultaneously. #jira OPP-6274 Change 3181456 on 2016/11/01 by Andrew.Brown SExpandable area has been modified as the Portal settings mocks weren't able to be achieved with default functionality. Added BodyBorderImage arguement and BodyBorderBackgroundColor attribute so we can specify a different brush/color to use for the expanded area compared with the title area. Additional care was made to ensure that rounded corners still appear correctly if the developer doesn't want to specify a different look to the body. Added AreaTitlePadding attribute, to be able to specify padding between the expand/collapse icon and the header content. Added MinWidth arguement, to ensure that the areas meet a minimum width requirement. Change 3181285 on 2016/11/01 by Richard.Fawcett Ensure user content generated using latest changelist submitted to Perforce, rather than using portal's latest changelist #jira OPP-6274 Change 3177758 on 2016/10/28 by Leigh.Swift #jira OPP-6247: Portal needs Social Plugin integration v1.2 Copying //Portal/Dev-Social to Dev-Main (//Portal/Dev-Main) Change 3175889 on 2016/10/26 by Wes.Fudala Web browser tooltips will no longer continue to appear when the mouse leaves the browser window. #jira: OPP-5895 The Mouseover info in Recent Additions (Marketplace) anchors itself to the mouse pointer over other Browser windows rb: Justin.Sargent Change 3171388 on 2016/10/22 by Leigh.Swift #jira OPP-6343: Launcher crashes patching from 2.12.13 Main to 2.12.13 Release-Live BPS: FBuildPatchAppManifest needs to listen for FCoreDelegates::OnPreExit in order to clean up references to it's UObject which is about to be destroyed. Change 3170373 on 2016/10/21 by Leigh.Swift #jira: OPP-6340: Portal builds fail on audit nodes. Reducing platform regex to only match pre-defined possibilities. [CL 3219291 by Justin Sargent in Main branch]
2016-12-02 13:27:02 -05:00
void SWebBrowserView::HandleWindowActivated()
{
if (BrowserViewport.IsValid())
{
if (HasAnyUserFocusOrFocusedDescendants())
{
BrowserViewport->OnFocusReceived(FFocusEvent());
}
}
}
void SWebBrowserView::LoadURL(FString NewURL)
{
AddressBarUrl = FText::FromString(NewURL);
if (BrowserWindow.IsValid())
{
BrowserWindow->LoadURL(NewURL);
}
}
void SWebBrowserView::LoadString(FString Contents, FString DummyURL)
{
if (BrowserWindow.IsValid())
{
BrowserWindow->LoadString(Contents, DummyURL);
}
}
void SWebBrowserView::Reload()
{
if (BrowserWindow.IsValid())
{
BrowserWindow->Reload();
}
}
void SWebBrowserView::StopLoad()
{
if (BrowserWindow.IsValid())
{
BrowserWindow->StopLoad();
}
}
FText SWebBrowserView::GetTitleText() const
{
if (BrowserWindow.IsValid())
{
return FText::FromString(BrowserWindow->GetTitle());
}
return LOCTEXT("InvalidWindow", "Browser Window is not valid/supported");
}
FString SWebBrowserView::GetUrl() const
{
if (BrowserWindow.IsValid())
{
return BrowserWindow->GetUrl();
}
return FString();
}
FText SWebBrowserView::GetAddressBarUrlText() const
{
if(BrowserWindow.IsValid())
{
return AddressBarUrl;
}
return FText::GetEmpty();
}
bool SWebBrowserView::IsLoaded() const
{
if (BrowserWindow.IsValid())
{
return (BrowserWindow->GetDocumentLoadingState() == EWebBrowserDocumentState::Completed);
}
return false;
}
bool SWebBrowserView::IsLoading() const
{
if (BrowserWindow.IsValid())
{
return (BrowserWindow->GetDocumentLoadingState() == EWebBrowserDocumentState::Loading);
}
return false;
}
bool SWebBrowserView::CanGoBack() const
{
if (BrowserWindow.IsValid())
{
return BrowserWindow->CanGoBack();
}
return false;
}
void SWebBrowserView::GoBack()
{
if (BrowserWindow.IsValid())
{
BrowserWindow->GoBack();
}
}
bool SWebBrowserView::CanGoForward() const
{
if (BrowserWindow.IsValid())
{
return BrowserWindow->CanGoForward();
}
return false;
}
void SWebBrowserView::GoForward()
{
if (BrowserWindow.IsValid())
{
BrowserWindow->GoForward();
}
}
bool SWebBrowserView::IsInitialized() const
{
return BrowserWindow.IsValid() && BrowserWindow->IsInitialized();
}
void SWebBrowserView::SetupParentWindowHandlers()
{
if (!SlateParentWindowPtr.IsValid())
{
SlateParentWindowPtr = FSlateApplication::Get().FindWidgetWindow(SharedThis(this));
}
if (SlateParentWindowPtr.IsValid() && BrowserWindow.IsValid())
{
SlateParentWindowPtr.Pin()->GetOnWindowDeactivatedEvent().AddSP(this, &SWebBrowserView::HandleWindowDeactivated);
Copying //UE4/Portal-Staging to //UE4/Dev-Main (Source: //Portal/Main @ 3216504) #lockdown Nick.Penwarden #rb no one ========================== MAJOR FEATURES + CHANGES ========================== Change 3216141 on 2016/11/30 by Justin.Sargent Completed first ready to use pass of the new AutomationDriver module and new Spec test type. Change 3213288 on 2016/11/29 by Leigh.Swift #jira OPP-6353: CEF FName Javascript PROBLEM Removing deprecation of IWebBrowserSingleton::SetJSBindingToLoweringEnabled for now. Change 3212796 on 2016/11/29 by Leigh.Swift #jira OPP-6353: CEF FName Javascript PROBLEM Added SetJSBindingToLoweringEnabled to IWebBrowserSingleton so that the to-lowering of binding names can be disabled. Deprecated SetJSBindingToLoweringEnabled since 4.15. In future the to-lowering will always occurr. Adding GetBindingName helper to FWebJSScripting, which returns a to-lowered name for a UField, unless disabled. Updated all current binding code to use GetBindingName when building from UObjects/UStructs. This affects Windows, Mac, Linux, and Android. Portal currently disables to-lowering unless a commandline -LowercaseJS is provided. Change 3200370 on 2016/11/16 by Richard.Fawcett Ensure we always get the latest version of the user content catalog when promoting marketplace items. Change 3192974 on 2016/11/10 by Leigh.Swift #jira OPP-6365: Crash during shutdown if a manifest is still being downloaded This is because of the OnPreExit core delegate being used to null out the Data uobject member on a manifest, also being the only sensible way to ensure threads complete in a safe and clean manner. Refactoring BuildPatchServices manifest class to not permanently hold any UObject and simply just use one while serialising. This removes the reliance on the OnPreExit delegate from manifest class, making it generally safer behaviour for shutdown. Change 3187028 on 2016/11/04 by Leigh.Swift PortalPublishingTool: Adding UE_Main app to UnrealEngine project Change 3186788 on 2016/11/04 by Richard.Fawcett Change C# wrapper for BuildPatchTool patch generation to prevent clobbering manifest files by default, unless we specifically pass in an optional flag to allow this. #jira OPP-6355 Change 3186779 on 2016/11/04 by Richard.Fawcett Add support to automation tool testing framework for the following assertions: Assert.AreNotEqual(a, b, optionalFailureMessage) Assert.ThrowsError(actionToCarryOut, expectedExceptionType, optionalExceptionMessageContainsString) Moved attribute-based expected exception declarations to their own attribute, TestThrowsExceptionAttribute, which can now accept an optional parameter for a string which should be contained within the exception message. Fixed a bug where a test method with an attribute-based expected exception would not count towards the success total if the exception was encountered as expected. Fixed a bug where NOT throwing an exception when we were expecting one would count as a success. Added an internal property bDoNotLogTestFailsAsError which we can set to true to suppress logging of UAT errors when a test fails (but still count them in our failure results), to allow us to deliberately cause test failures to test the test framework! Added a suite of unit tests for the test framework itself, in TestRunner.Automation.Tests.cs. Change 3185411 on 2016/11/03 by Richard.Fawcett Allow Rocket_PromoteBuild changelist to be overridden by a changelist read from a file. Change 3184843 on 2016/11/03 by Richard.Fawcett Ensure catalog file synced during user content generation is always the latest one. Change 3184752 on 2016/11/03 by Richard.Fawcett Ensure we log reading changelist from specified file. Change 3184744 on 2016/11/03 by Richard.Fawcett Ensure directory is created for Changelist file if it doesn't already exist. Change 3184738 on 2016/11/03 by Richard.Fawcett Ensure we use latest CL from all of Perforce when generating build versions for user content Because of the nature of the build farm, where separate parts of the job are executed on different build agents at different times, this changelist is serialized to the filesystem during execution of a node dedicated to this task, and then made available to all future nodes, so that they're working with a consistent build version. In the case of an execution where we're updating Perforce with new content, this calculation of the changelist occurs AFTER we've updated Perforce with the new content. Have also optimized the build graph scripts to enable Mac and Windows user generated content to execute simultaneously. #jira OPP-6274 Change 3181456 on 2016/11/01 by Andrew.Brown SExpandable area has been modified as the Portal settings mocks weren't able to be achieved with default functionality. Added BodyBorderImage arguement and BodyBorderBackgroundColor attribute so we can specify a different brush/color to use for the expanded area compared with the title area. Additional care was made to ensure that rounded corners still appear correctly if the developer doesn't want to specify a different look to the body. Added AreaTitlePadding attribute, to be able to specify padding between the expand/collapse icon and the header content. Added MinWidth arguement, to ensure that the areas meet a minimum width requirement. Change 3181285 on 2016/11/01 by Richard.Fawcett Ensure user content generated using latest changelist submitted to Perforce, rather than using portal's latest changelist #jira OPP-6274 Change 3177758 on 2016/10/28 by Leigh.Swift #jira OPP-6247: Portal needs Social Plugin integration v1.2 Copying //Portal/Dev-Social to Dev-Main (//Portal/Dev-Main) Change 3175889 on 2016/10/26 by Wes.Fudala Web browser tooltips will no longer continue to appear when the mouse leaves the browser window. #jira: OPP-5895 The Mouseover info in Recent Additions (Marketplace) anchors itself to the mouse pointer over other Browser windows rb: Justin.Sargent Change 3171388 on 2016/10/22 by Leigh.Swift #jira OPP-6343: Launcher crashes patching from 2.12.13 Main to 2.12.13 Release-Live BPS: FBuildPatchAppManifest needs to listen for FCoreDelegates::OnPreExit in order to clean up references to it's UObject which is about to be destroyed. Change 3170373 on 2016/10/21 by Leigh.Swift #jira: OPP-6340: Portal builds fail on audit nodes. Reducing platform regex to only match pre-defined possibilities. [CL 3219291 by Justin Sargent in Main branch]
2016-12-02 13:27:02 -05:00
SlateParentWindowPtr.Pin()->GetOnWindowActivatedEvent().AddSP(this, &SWebBrowserView::HandleWindowActivated);
}
}
void SWebBrowserView::HandleBrowserWindowDocumentStateChanged(EWebBrowserDocumentState NewState)
{
switch (NewState)
{
case EWebBrowserDocumentState::Completed:
{
if (BrowserWindow.IsValid())
{
for (auto Adapter : Adapters)
{
Adapter->ConnectTo(BrowserWindow.ToSharedRef());
}
}
OnLoadCompleted.ExecuteIfBound();
}
break;
case EWebBrowserDocumentState::Error:
OnLoadError.ExecuteIfBound();
break;
case EWebBrowserDocumentState::Loading:
OnLoadStarted.ExecuteIfBound();
break;
}
}
void SWebBrowserView::HandleBrowserWindowNeedsRedraw()
{
if (FSlateApplication::Get().IsSlateAsleep())
{
// Tell slate that the widget needs to wake up for one frame to get redrawn
RegisterActiveTimer(0.f, FWidgetActiveTimerDelegate::CreateLambda([this](double InCurrentTime, float InDeltaTime) { return EActiveTimerReturnType::Stop; }));
}
}
void SWebBrowserView::HandleTitleChanged( FString NewTitle )
{
const FText NewTitleText = FText::FromString(NewTitle);
OnTitleChanged.ExecuteIfBound(NewTitleText);
}
void SWebBrowserView::HandleUrlChanged( FString NewUrl )
{
AddressBarUrl = FText::FromString(NewUrl);
OnUrlChanged.ExecuteIfBound(AddressBarUrl);
}
void SWebBrowserView::HandleToolTip(FString ToolTipText)
{
if(ToolTipText.IsEmpty())
{
FSlateApplication::Get().CloseToolTip();
SetToolTip(nullptr);
}
else
{
SetToolTipText(FText::FromString(ToolTipText));
FSlateApplication::Get().UpdateToolTip(true);
}
}
bool SWebBrowserView::HandleBeforeNavigation(const FString& Url, const FWebNavigationRequest& Request)
{
if(OnBeforeNavigation.IsBound())
{
return OnBeforeNavigation.Execute(Url, Request);
}
return false;
}
bool SWebBrowserView::HandleLoadUrl(const FString& Method, const FString& Url, FString& OutResponse)
{
if(OnLoadUrl.IsBound())
{
return OnLoadUrl.Execute(Method, Url, OutResponse);
}
return false;
}
EWebBrowserDialogEventResponse SWebBrowserView::HandleShowDialog(const TWeakPtr<IWebBrowserDialog>& DialogParams)
{
if(OnShowDialog.IsBound())
{
return OnShowDialog.Execute(DialogParams);
}
return EWebBrowserDialogEventResponse::Unhandled;
}
void SWebBrowserView::HandleDismissAllDialogs()
{
OnDismissAllDialogs.ExecuteIfBound();
}
bool SWebBrowserView::HandleBeforePopup(FString URL, FString Target)
{
if (OnBeforePopup.IsBound())
{
return OnBeforePopup.Execute(URL, Target);
}
return false;
}
void SWebBrowserView::ExecuteJavascript(const FString& ScriptText)
{
if (BrowserWindow.IsValid())
{
BrowserWindow->ExecuteJavascript(ScriptText);
}
}
void SWebBrowserView::GetSource(TFunction<void (const FString&)> Callback) const
{
if (BrowserWindow.IsValid())
{
BrowserWindow->GetSource(Callback);
}
}
bool SWebBrowserView::HandleCreateWindow(const TWeakPtr<IWebBrowserWindow>& NewBrowserWindow, const TWeakPtr<IWebBrowserPopupFeatures>& PopupFeatures)
{
if(OnCreateWindow.IsBound())
{
return OnCreateWindow.Execute(NewBrowserWindow, PopupFeatures);
}
return false;
}
bool SWebBrowserView::HandleCloseWindow(const TWeakPtr<IWebBrowserWindow>& NewBrowserWindow)
{
if(OnCloseWindow.IsBound())
{
return OnCloseWindow.Execute(NewBrowserWindow);
}
return false;
}
void SWebBrowserView::BindUObject(const FString& Name, UObject* Object, bool bIsPermanent)
{
if (BrowserWindow.IsValid())
{
BrowserWindow->BindUObject(Name, Object, bIsPermanent);
}
}
void SWebBrowserView::UnbindUObject(const FString& Name, UObject* Object, bool bIsPermanent)
{
if (BrowserWindow.IsValid())
{
BrowserWindow->UnbindUObject(Name, Object, bIsPermanent);
}
}
void SWebBrowserView::BindAdapter(const TSharedRef<IWebBrowserAdapter>& Adapter)
{
Adapters.Add(Adapter);
if (BrowserWindow.IsValid())
{
Adapter->ConnectTo(BrowserWindow.ToSharedRef());
}
}
void SWebBrowserView::UnbindAdapter(const TSharedRef<IWebBrowserAdapter>& Adapter)
{
Adapters.Remove(Adapter);
if (BrowserWindow.IsValid())
{
Adapter->DisconnectFrom(BrowserWindow.ToSharedRef());
}
}
void SWebBrowserView::HandleShowPopup(const FIntRect& PopupSize)
{
check(!PopupMenuPtr.IsValid())
TSharedPtr<SViewport> MenuContent;
SAssignNew(MenuContent, SViewport)
.ViewportSize(PopupSize.Size())
.EnableGammaCorrection(false)
.EnableBlending(false)
.IgnoreTextureAlpha(true)
.Visibility(EVisibility::Visible);
MenuViewport = MakeShareable(new FWebBrowserViewport(BrowserWindow, true));
MenuContent->SetViewportInterface(MenuViewport.ToSharedRef());
FWidgetPath WidgetPath;
FSlateApplication::Get().GeneratePathToWidgetUnchecked(SharedThis(this), WidgetPath);
if (WidgetPath.IsValid())
{
TSharedRef< SWidget > MenuContentRef = MenuContent.ToSharedRef();
const FGeometry& BrowserGeometry = WidgetPath.Widgets.Last().Geometry;
const FVector2D NewPosition = BrowserGeometry.LocalToAbsolute(PopupSize.Min);
// Open the pop-up. The popup method will be queried from the widget path passed in.
TSharedPtr<IMenu> NewMenu = FSlateApplication::Get().PushMenu(SharedThis(this), WidgetPath, MenuContentRef, NewPosition, FPopupTransitionEffect( FPopupTransitionEffect::ComboButton ), false);
NewMenu->GetOnMenuDismissed().AddSP(this, &SWebBrowserView::HandleMenuDismissed);
PopupMenuPtr = NewMenu;
}
}
void SWebBrowserView::HandleMenuDismissed(TSharedRef<IMenu>)
{
PopupMenuPtr.Reset();
}
void SWebBrowserView::HandleDismissPopup()
{
if (PopupMenuPtr.IsValid())
{
PopupMenuPtr.Pin()->Dismiss();
FSlateApplication::Get().SetKeyboardFocus(SharedThis(this), EFocusCause::SetDirectly);
}
}
bool SWebBrowserView::HandleSuppressContextMenu()
{
if (OnSuppressContextMenu.IsBound())
{
return OnSuppressContextMenu.Execute();
}
return false;
}
#undef LOCTEXT_NAMESPACE