Commit Graph

19 Commits

Author SHA1 Message Date
Matthew Griffin
315259b0d1 Fixed issues with merge of WebBrowser code from Launcher branch
#codereview Carlos.Cuello, Keli.Hlodversson

[CL 2510109 by Matthew Griffin in Main branch]
2015-04-13 06:16:41 -04:00
Marc Audy
4562acb429 Fix shadow variables
[CL 2507160 by Marc Audy in Main branch]
2015-04-09 15:23:52 -04:00
Carlos Cuello
65c6b1a695 [INTEGRATE] Merging using UE4-To-UE4-LauncherDev, integrate all up to cl 2496104 from the LauncherDev branch. updated friends and chat module, lib curl updates, portal related fixes
[CL 2499790 by Carlos Cuello in Main branch]
2015-04-02 09:42:37 -04:00
Mike Fricker
114458bf0f Clang warning fixes: Fixed missing 'override' specifiers
- Also removed some unreferenced functions that adding 'override' revealed

PR #1002 -- Thank you, Omar007!

[CL 2498415 by Mike Fricker in Main branch]
2015-04-01 07:20:55 -04:00
Carlos Cuello
6f1ac76399 [INTEGRATE] UE4-LauncherDev->UE4 integrate all up to cl 2475889
[CL 2478426 by Carlos Cuello in Main branch]
2015-03-13 08:26:18 -04:00
Saul Abreu
79a26091bf Fixed behavior on FString::ParseIntoArray (muliple delimiters overload) functionality to support optionally culling empty strings. Greatly simplified implementation logic. Output parameter now properly named and taken by reference.
#codereview Steve.Robb, Robert.Manuszewski

[CL 2466824 by Saul Abreu in Main branch]
2015-03-02 15:51:37 -05:00
Matt Kuhlenschmidt
d5d02955c7 Fix race conditions when updating textures from an SWebBrowser. Introduced a new thread safe way to update a texture (this is expensive as it requires an extra memcopy).
#codereview matthew.griffin

[CL 2463566 by Matt Kuhlenschmidt in Main branch]
2015-02-26 22:49:18 -05:00
Matthew Griffin
413f86f850 Fixed include paths that were missed when modules were moved.
Spotted by amigo in #UE4Linux

[CL 2458483 by Matthew Griffin in Main branch]
2015-02-24 10:49:58 -05:00
Max Preussner
7001904470 WebBrowser: Converted OnTitleChanged delegate to an event; code and documentation cleanup pass
Merging using UE4-To-UE4-LauncherDev, CL# 2441875

[CL 2445350 by Max Preussner in Main branch]
2015-02-13 15:52:26 -05:00
Matthew Griffin
721a43fc98 Added use of LoadString to Web Browser window
Also added the option to pass a content string when the window is created, as you need to wait a frame before the browser is passed back for it to be valid.

[CL 2412858 by Matthew Griffin in Main branch]
2015-01-20 16:49:52 -05:00
Matthew Griffin
69e5147031 Missed files from CEF3 Win32 checkin
[CL 2408751 by Matthew Griffin in Main branch]
2015-01-16 09:04:57 -05:00
Matthew Griffin
18c1cdb46b Added Win32 support for CEF3
Added Win32 libraries and ensured that all necessary components are built/included for Win32

[CL 2408613 by Matthew Griffin in Main branch]
2015-01-16 06:24:57 -05:00
Matthew Griffin
4c06167500 Changed Web Browser Viewport to use local size so that image is zoomed when application scale is changed.
This also ensures that the mouse positions line up with what's rendered. Could have also been done by changing browser zoom level so that it stays sharp but it would have meant converting from a scale of 1 to a zoom level of 0 and making all mouse events use absolute positions.

[CL 2397639 by Matthew Griffin in Main branch]
2015-01-05 10:34:15 -05:00
Matthew Griffin
6f5b21f0a1 Ensured that web browser window size is set correctly
Changed Web Browser Window Set Size function to take an int point as there's no need for float version

Calculated integer size of viewport by adding position and size before converting to int, which avoids problems with rounding.

[CL 2397445 by Matthew Griffin in Main branch]
2015-01-05 08:54:59 -05:00
Matthew Griffin
ae4906657e Added log messages for Web Browser errors
Convert relative paths to full path as it can end up incorrect in cooked builds

[CL 2394983 by Matthew Griffin in Main branch]
2015-01-05 08:41:55 -05:00
Matthew Griffin
0cbd65612b Fixed issue with web browser not responding to keyboard input on Mac
Changed how keyboard codes are passed to CEF on Mac

[CL 2392320 by Matthew Griffin in Main branch]
2014-12-18 05:27:03 -05:00
Dan Hertzka
c042ddcb94 ---- Merging with SlateDev branch ----
Introduces the concept of "Active Ticking" to allow Slate to go to sleep when there is no need to update the UI.

While asleep, Slate will skip the Tick & Paint pass for that frame entirely.
- There are TWO ways to "wake" Slate and cause a Tick/Paint pass:
    1. Provide some sort of input (mouse movement, clicks, and key presses). Slate will always tick when the user is active.
        - Therefore, if the logic in a given widget's Tick is only relevant in response to user action, there is no need to register an active tick.
    2. Register an Active Tick. Currently this is an all-or-nothing situation, so if a single active tick needs to execute, all of Slate will be ticked.

- The purpose of an Active Tick is to allow a widget to "drive" Slate and guarantee a Tick/Paint pass in the absence of any user action.
    - Examples include animation, async operations that update periodically, progress updates, loading bars, etc.

- An empty active tick is registered for viewports when they are real-time, so game project widgets are unaffected by this change and should continue to work as before.

- An Active Tick is registered by creating an FWidgetActiveTickDelegate and passing it to SWidget::RegisterActiveTick()
    - There are THREE ways to unregister an active tick:
        1. Return EActiveTickReturnType::StopTicking from the active tick function
        2. Pass the FActiveTickHandle returned by RegisterActiveTick() to SWidget::UnregisterActiveTick()
        3. Destroy the widget responsible for the active tick

- Sleeping is currently disabled, can be enabled with Slate.AllowSlateToSleep cvar
- There is currently a little buffer time during which Slate continues to tick following any input. Long-term, this is planned to be removed.
    - The duration of the buffer can be adjusted using Slate.SleepBufferPostInput cvar (defaults to 1.0f)

- The FCurveSequence API has been updated to work with the active tick system
    - Playing a curve sequence now requires that you pass the widget being animated by the sequence
    - The active tick will automatically be registered on behalf of the widget and unregister when the sequence is complete
    - GetLerpLooping() has been removed. Instead, pass true as the second param to Play() to indicate that the animation will loop. This causes the active tick to be registered indefinitely until paused or jumped to the start/end.

[CL 2391669 by Dan Hertzka in Main branch]
2014-12-17 16:07:57 -05:00
Matthew Griffin
5215ae3298 Added functionality to change the current URL of a web browser window
[CL 2391070 by Matthew Griffin in Main branch]
2014-12-17 09:20:23 -05:00
Matthew Griffin
102bea4250 Moving WebBrowser and CEF3Utils to Runtime so that they can be used in games.
Also removed guards around browser code in SWebBrowser and made sure that path for sub process exe is correct if game exe is not in the same folder.

[CL 2389777 by Matthew Griffin in Main branch]
2014-12-16 06:41:01 -05:00