2016-12-08 08:52:44 -05:00
|
|
|
// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.
|
2015-12-08 16:59:43 -05:00
|
|
|
|
|
|
|
|
#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"
|
2015-12-08 16:59:43 -05:00
|
|
|
#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"
|
2015-12-08 16:59:43 -05:00
|
|
|
#include "IWebBrowserWindow.h"
|
|
|
|
|
#include "WebBrowserViewport.h"
|
|
|
|
|
#include "IWebBrowserAdapter.h"
|
|
|
|
|
|
|
|
|
|
#if PLATFORM_ANDROID
|
2016-09-23 17:31:51 -04:00
|
|
|
# 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
|
2016-09-23 17:31:51 -04:00
|
|
|
# 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
|
2016-09-23 17:31:51 -04:00
|
|
|
# include "PS4/PS4PlatformWebBrowser.h"
|
|
|
|
|
#elif WITH_CEF3
|
|
|
|
|
# include "CEF/CEFWebBrowserWindow.h"
|
|
|
|
|
#else
|
|
|
|
|
# define DUMMY_WEB_BROWSER 1
|
2015-12-08 16:59:43 -05:00
|
|
|
#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();
|
|
|
|
|
}
|
|
|
|
|
}
|
2016-06-29 18:00:01 -04:00
|
|
|
|
|
|
|
|
if (SlateParentWindowSetupTickHandle.IsValid())
|
|
|
|
|
{
|
|
|
|
|
FTicker::GetCoreTicker().RemoveTicker(SlateParentWindowSetupTickHandle);
|
|
|
|
|
SlateParentWindowSetupTickHandle.Reset();
|
|
|
|
|
}
|
|
|
|
|
|
2016-09-23 17:31:51 -04:00
|
|
|
if (SlateParentWindowPtr.IsValid())
|
2016-06-29 18:00:01 -04:00
|
|
|
{
|
2016-09-23 17:31:51 -04:00
|
|
|
SlateParentWindowPtr.Pin()->GetOnWindowDeactivatedEvent().RemoveAll(this);
|
2016-06-29 18:00:01 -04:00
|
|
|
}
|
2015-12-08 16:59:43 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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)
|
|
|
|
|
{
|
2016-06-29 18:00:01 -04:00
|
|
|
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;
|
|
|
|
|
|
2016-09-23 17:31:51 -04:00
|
|
|
BrowserWindow = IWebBrowserModule::Get().GetSingleton()->CreateBrowserWindow(Settings);
|
2015-12-08 16:59:43 -05:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2016-09-23 17:31:51 -04:00
|
|
|
SlateParentWindowPtr = InArgs._ParentWindow;
|
2015-12-08 16:59:43 -05:00
|
|
|
|
|
|
|
|
if (BrowserWindow.IsValid())
|
|
|
|
|
{
|
2016-09-23 17:31:51 -04:00
|
|
|
#ifndef DUMMY_WEB_BROWSER
|
|
|
|
|
// The inner widget creation is handled by the WebBrowserWindow implementation.
|
2015-12-08 16:59:43 -05:00
|
|
|
const auto& BrowserWidgetRef = static_cast<FWebBrowserWindow*>(BrowserWindow.Get())->CreateWidget();
|
|
|
|
|
ChildSlot
|
|
|
|
|
[
|
|
|
|
|
BrowserWidgetRef
|
|
|
|
|
];
|
|
|
|
|
BrowserWidget = BrowserWidgetRef;
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
if(OnCreateWindow.IsBound())
|
|
|
|
|
{
|
2016-09-23 17:31:51 -04:00
|
|
|
BrowserWindow->OnCreateWindow().BindSP(this, &SWebBrowserView::HandleCreateWindow);
|
2015-12-08 16:59:43 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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);
|
2017-03-28 17:14:05 -04:00
|
|
|
|
|
|
|
|
BrowserWindow->OnSuppressContextMenu().BindSP(this, &SWebBrowserView::HandleSuppressContextMenu);
|
|
|
|
|
OnSuppressContextMenu = InArgs._OnSuppressContextMenu;
|
|
|
|
|
|
2015-12-08 16:59:43 -05:00
|
|
|
BrowserViewport = MakeShareable(new FWebBrowserViewport(BrowserWindow));
|
|
|
|
|
#if WITH_CEF3
|
|
|
|
|
BrowserWidget->SetViewportInterface(BrowserViewport.ToSharedRef());
|
|
|
|
|
#endif
|
2016-06-29 18:00:01 -04:00
|
|
|
SetupParentWindowHandlers();
|
|
|
|
|
// If we could not obtain the parent window during widget construction, we'll defer and keep trying.
|
2016-09-23 17:31:51 -04:00
|
|
|
if (!SlateParentWindowPtr.IsValid())
|
2016-06-29 18:00:01 -04:00
|
|
|
{
|
|
|
|
|
SlateParentWindowSetupTickHandle = FTicker::GetCoreTicker().AddTicker(FTickerDelegate::CreateLambda([this](float) -> bool
|
|
|
|
|
{
|
|
|
|
|
this->SetupParentWindowHandlers();
|
2016-09-23 17:31:51 -04:00
|
|
|
bool ContinueTick = !SlateParentWindowPtr.IsValid();
|
2016-06-29 18:00:01 -04:00
|
|
|
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);
|
2015-12-08 16:59:43 -05:00
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
OnLoadError.ExecuteIfBound();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2016-06-29 18:00:01 -04:00
|
|
|
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());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2015-12-08 16:59:43 -05:00
|
|
|
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();
|
|
|
|
|
}
|
|
|
|
|
|
2016-06-29 18:00:01 -04:00
|
|
|
void SWebBrowserView::SetupParentWindowHandlers()
|
|
|
|
|
{
|
2016-09-23 17:31:51 -04:00
|
|
|
if (!SlateParentWindowPtr.IsValid())
|
2016-06-29 18:00:01 -04:00
|
|
|
{
|
2016-09-23 17:31:51 -04:00
|
|
|
SlateParentWindowPtr = FSlateApplication::Get().FindWidgetWindow(SharedThis(this));
|
2016-06-29 18:00:01 -04:00
|
|
|
}
|
|
|
|
|
|
2016-09-23 17:31:51 -04:00
|
|
|
if (SlateParentWindowPtr.IsValid() && BrowserWindow.IsValid())
|
2016-06-29 18:00:01 -04:00
|
|
|
{
|
2016-09-23 17:31:51 -04:00
|
|
|
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);
|
2016-06-29 18:00:01 -04:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2015-12-08 16:59:43 -05:00
|
|
|
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);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2016-03-23 17:21:56 -04:00
|
|
|
bool SWebBrowserView::HandleBeforeNavigation(const FString& Url, const FWebNavigationRequest& Request)
|
2015-12-08 16:59:43 -05:00
|
|
|
{
|
|
|
|
|
if(OnBeforeNavigation.IsBound())
|
|
|
|
|
{
|
2016-03-23 17:21:56 -04:00
|
|
|
return OnBeforeNavigation.Execute(Url, Request);
|
2015-12-08 16:59:43 -05:00
|
|
|
}
|
|
|
|
|
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);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2016-09-23 17:31:51 -04:00
|
|
|
void SWebBrowserView::GetSource(TFunction<void (const FString&)> Callback) const
|
|
|
|
|
{
|
|
|
|
|
if (BrowserWindow.IsValid())
|
|
|
|
|
{
|
|
|
|
|
BrowserWindow->GetSource(Callback);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2015-12-08 16:59:43 -05:00
|
|
|
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);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2017-03-28 17:14:05 -04:00
|
|
|
bool SWebBrowserView::HandleSuppressContextMenu()
|
|
|
|
|
{
|
|
|
|
|
if (OnSuppressContextMenu.IsBound())
|
|
|
|
|
{
|
|
|
|
|
return OnSuppressContextMenu.Execute();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
}
|
2015-12-08 16:59:43 -05:00
|
|
|
|
|
|
|
|
#undef LOCTEXT_NAMESPACE
|