UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
WebBrowserSingleton.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
6#include "Containers/Ticker.h"
8
9#if WITH_CEF3
10#if PLATFORM_WINDOWS
13#endif
14#pragma push_macro("OVERRIDE")
15#undef OVERRIDE // cef headers provide their own OVERRIDE macro
17#if PLATFORM_APPLE
19#endif
20#include "include/internal/cef_ptr.h"
21#include "include/cef_request_context.h"
22#if PLATFORM_APPLE
24#endif
26#pragma pop_macro("OVERRIDE")
27#if PLATFORM_WINDOWS
30#endif
33class CefListValue;
34class FCEFBrowserApp;
36#endif
37
43
45
51 , public FTSTickerObjectBase
52{
53public:
54
57
59 virtual ~FWebBrowserSingleton();
60
66 static FString GetCurrentLocaleCode();
67
68
69public:
70
71 // IWebBrowserSingleton Interface
72
73 virtual bool IsShuttingDown() const override;
74
75 virtual FString ApplicationCacheDir() const override;
76
78
82
84
85#if BUILD_EMBEDDED_APP
87#endif
88
90 {
91 return DefaultCookieManager;
92 }
93
95
96 virtual bool RegisterContext(const FBrowserContextSettings& Settings) override;
97
98 virtual bool UnregisterContext(const FString& ContextId) override;
99
101
103
104 virtual bool IsDevToolsShortcutEnabled() override
105 {
106 return bDevToolsShortcutEnabled;
107 }
108
109 virtual void SetDevToolsShortcutEnabled(bool Value) override
110 {
111 bDevToolsShortcutEnabled = Value;
112 }
113
114 virtual void SetJSBindingToLoweringEnabled(bool bEnabled) override
115 {
116 bJSBindingsToLoweringEnabled = bEnabled;
117 }
118
119 virtual void ClearOldCacheFolders(const FString& CachePathRoot, const FString& CachePrefix) override;
120
123 {
124 DefaultMaterial = InDefaultMaterial;
125 }
126
129 {
130 DefaultTranslucentMaterial = InDefaultMaterial;
131 }
132
135 {
136 return DefaultMaterial;
137 }
138
141 {
142 return DefaultTranslucentMaterial;
143 }
144
145public:
146
147 // FTSTickerObjectBase Interface
148
149 virtual bool Tick(float DeltaTime) override;
150
151#if WITH_CEF3
154
157
159 bool URLRequestAllowsCredentials(const FString& URL);
160#endif
161private:
162
163 TSharedPtr<IWebBrowserCookieManager> DefaultCookieManager;
164
165#if WITH_CEF3
167 FString GenerateWebCacheFolderName(const FString &InputPath);
170
173
177 bool bAllowCEF;
178 bool bTaskFinished;
179#endif
180
182#if WITH_CEF3
184#elif PLATFORM_IOS || PLATFORM_MAC || PLATFORM_SPECIFIC_WEB_BROWSER || (PLATFORM_ANDROID && USE_ANDROID_JNI)
186#endif
187
189 FCriticalSection WindowInterfacesCS;
190
191 TSharedRef<IWebBrowserWindowFactory> WebBrowserWindowFactory;
192
193#if !WITH_CEF3 && (PLATFORM_IOS || PLATFORM_MAC || (PLATFORM_ANDROID && USE_ANDROID_JNI))
194 FString UserAgentApplication;
195#endif
196
197 bool bDevToolsShortcutEnabled;
198
199 bool bJSBindingsToLoweringEnabled;
200
201 bool bAppIsFocused;
202
203#if WITH_CEF3
205 bool bCEFInitialized;
206#endif
207
209 UMaterialInterface* DefaultMaterial;
210
212 UMaterialInterface* DefaultTranslucentMaterial;
213
214 /* Time when our Tick() was last called. */
215 double PreviousTickTimeSeconds = 0.0;
216
218 float ExternalTickCallWaitSeconds = 0.0;
219};
220
222
223#if WITH_CEF3
224
225class CefCookieManager;
226
228{
229public:
232};
233
234#endif
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE::FPlatformRecursiveMutex FCriticalSection
Definition CriticalSection.h:53
#define PRAGMA_ENABLE_DEPRECATION_WARNINGS
Definition GenericPlatformCompilerPreSetup.h:12
#define THIRD_PARTY_INCLUDES_START
Definition GenericPlatformCompilerPreSetup.h:63
#define PRAGMA_DISABLE_DEPRECATION_WARNINGS
Definition GenericPlatformCompilerPreSetup.h:8
Definition Ticker.h:137
Definition WebBrowserSingleton.h:52
virtual UMaterialInterface * GetDefaultTranslucentMaterial() override
Definition WebBrowserSingleton.h:140
static FString GetCurrentLocaleCode()
Definition WebBrowserSingleton.cpp:979
virtual UMaterialInterface * GetDefaultMaterial() override
Definition WebBrowserSingleton.h:134
virtual void SetJSBindingToLoweringEnabled(bool bEnabled) override
Definition WebBrowserSingleton.h:114
virtual void SetDefaultTranslucentMaterial(UMaterialInterface *InDefaultMaterial) override
Definition WebBrowserSingleton.h:128
virtual bool IsShuttingDown() const override
Definition WebBrowserSingleton.cpp:582
virtual void SetDefaultMaterial(UMaterialInterface *InDefaultMaterial) override
Definition WebBrowserSingleton.h:122
virtual FString ApplicationCacheDir() const override
Definition WebBrowserSingleton.cpp:99
virtual void SetDevToolsShortcutEnabled(bool Value) override
Definition WebBrowserSingleton.h:109
virtual void ClearOldCacheFolders(const FString &CachePathRoot, const FString &CachePrefix) override
Definition WebBrowserSingleton.cpp:1092
virtual ~FWebBrowserSingleton()
Definition WebBrowserSingleton.cpp:524
TSharedPtr< IWebBrowserWindow > CreateBrowserWindow(TSharedPtr< FCEFWebBrowserWindow > &BrowserWindowParent, TSharedPtr< FWebBrowserWindowInfo > &BrowserWindowInfo) override
Definition WebBrowserSingleton.cpp:596
virtual bool IsDevToolsShortcutEnabled() override
Definition WebBrowserSingleton.h:104
virtual bool UnregisterContext(const FString &ContextId) override
Definition WebBrowserSingleton.cpp:1174
virtual TSharedPtr< IWebBrowserCookieManager > GetCookieManager() const override
Definition WebBrowserSingleton.h:89
virtual bool RegisterSchemeHandlerFactory(FString Scheme, FString Domain, IWebBrowserSchemeHandlerFactory *WebBrowserSchemeHandlerFactory) override
Definition WebBrowserSingleton.cpp:1203
virtual TSharedRef< IWebBrowserWindowFactory > GetWebBrowserWindowFactory() const override
Definition WebBrowserSingleton.cpp:591
virtual bool RegisterContext(const FBrowserContextSettings &Settings) override
Definition WebBrowserSingleton.cpp:1138
virtual bool UnregisterSchemeHandlerFactory(IWebBrowserSchemeHandlerFactory *WebBrowserSchemeHandlerFactory) override
Definition WebBrowserSingleton.cpp:1215
Definition IWebBrowserCookieManager.h:38
Definition IWebBrowserSchemeHandler.h:92
Definition IWebBrowserSingleton.h:92
Definition IWebBrowserWindow.h:85
Definition Array.h:670
Definition UnrealString.h.inl:34
Definition SharedPointer.h:692
Definition SharedPointer.h:153
Definition MaterialInterface.h:296
Definition Voronoi.cpp:10
Definition IWebBrowserSingleton.h:36
Definition IWebBrowserSingleton.h:57
Definition WebBrowserModule.h:15
Definition Optional.h:131