UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
NativeWebBrowserProxy.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
4#include "CoreMinimal.h"
5#include "IWebBrowserWindow.h"
6#include "NativeJSScripting.h"
7
9 : public IWebBrowserWindow
10 , public TSharedFromThis<FNativeWebBrowserProxy>
11{
12 // For creating instances of this class
14
15private:
16 FNativeWebBrowserProxy(bool bJSBindingToLoweringEnabled);
17 void Initialize();
18 void HandleEmbeddedCommunication(const struct FEmbeddedCallParamsHelper& Params);
19 bool OnJsMessageReceived(const FString& Message);
20
21public:
23
24public:
25 // IWebBrowserWindow Interface
26
27 virtual void LoadURL(FString NewURL) override;
28 virtual void LoadString(FString Contents, FString DummyURL) override;
29 virtual void SetViewportSize(FIntPoint WindowSize, FIntPoint WindowPos) override;
30 virtual FIntPoint GetViewportSize() const override;
31
32 virtual class FSlateShaderResource* GetTexture(bool bIsPopup = false) override;
33 virtual bool IsValid() const override;
34 virtual bool IsInitialized() const override;
35 virtual bool IsClosing() const override;
37 virtual FString GetTitle() const override;
38 virtual FString GetUrl() const override;
39 virtual void GetSource(TFunction<void(const FString&)> Callback) const override;
40 virtual bool OnKeyDown(const FKeyEvent& InKeyEvent) override;
41 virtual bool OnKeyUp(const FKeyEvent& InKeyEvent) override;
42 virtual bool OnKeyChar(const FCharacterEvent& InCharacterEvent) override;
43 virtual void SetSupportsMouseWheel(bool bValue) override;
44 virtual bool GetSupportsMouseWheel() const override;
45
46 virtual FReply OnMouseButtonDown(const FGeometry& MyGeometry, const FPointerEvent& MouseEvent, bool bIsPopup) override;
47 virtual FReply OnMouseButtonUp(const FGeometry& MyGeometry, const FPointerEvent& MouseEvent, bool bIsPopup) override;
48 virtual FReply OnMouseButtonDoubleClick(const FGeometry& MyGeometry, const FPointerEvent& MouseEvent, bool bIsPopup) override;
49 virtual FReply OnMouseMove(const FGeometry& MyGeometry, const FPointerEvent& MouseEvent, bool bIsPopup) override;
50 virtual void OnMouseLeave(const FPointerEvent& MouseEvent) override;
51 virtual FReply OnMouseWheel(const FGeometry& MyGeometry, const FPointerEvent& MouseEvent, bool bIsPopup) override;
52 virtual FOnDragWindow& OnDragWindow() override
53 {
54 return DragWindowDelegate;
55 }
56 virtual void OnFocus(bool SetFocus, bool bIsPopup) override;
57 virtual void OnCaptureLost() override;
58 virtual bool CanGoBack() const override;
59 virtual void GoBack() override;
60 virtual bool CanGoForward() const override;
61 virtual void GoForward() override;
62 virtual bool IsLoading() const override;
63 virtual void Reload() override;
64 virtual void StopLoad() override;
65 virtual void ExecuteJavascript(const FString& Script) override;
66 virtual void CloseBrowser(bool bForce, bool bBlockTillClosed) override;
67 virtual void BindUObject(const FString& Name, UObject* Object, bool bIsPermanent = true) override;
68 virtual void UnbindUObject(const FString& Name, UObject* Object = nullptr, bool bIsPermanent = true) override;
69 virtual int GetLoadError() override;
70 virtual void SetIsDisabled(bool bValue) override;
71 virtual TSharedPtr<SWindow> GetParentWindow() const override;
72 virtual void SetParentWindow(TSharedPtr<SWindow> Window) override;
73 virtual void ShowFloatingCloseButton(bool bShow, bool bDraggable) override
74 {
75 }
76
77 // @todo: None of these are actually called at the moment.
78 DECLARE_DERIVED_EVENT(FNativeWebBrowserProxy, IWebBrowserWindow::FOnDocumentStateChanged, FOnDocumentStateChanged);
80 {
81 return DocumentStateChangedEvent;
82 }
83
84 DECLARE_DERIVED_EVENT(FNativeWebBrowserProxy, IWebBrowserWindow::FOnTitleChanged, FOnTitleChanged);
85 virtual FOnTitleChanged& OnTitleChanged() override
86 {
87 return TitleChangedEvent;
88 }
89
90 DECLARE_DERIVED_EVENT(FNativeWebBrowserProxy, IWebBrowserWindow::FOnUrlChanged, FOnUrlChanged);
91 virtual FOnUrlChanged& OnUrlChanged() override
92 {
93 return UrlChangedEvent;
94 }
95
97 virtual FOnToolTip& OnToolTip() override
98 {
99 return ToolTipEvent;
100 }
101
102 DECLARE_DERIVED_EVENT(FNativeWebBrowserProxy, IWebBrowserWindow::FOnNeedsRedraw, FOnNeedsRedraw);
103 virtual FOnNeedsRedraw& OnNeedsRedraw() override
104 {
105 return NeedsRedrawEvent;
106 }
107
108 virtual FOnBeforeBrowse& OnBeforeBrowse() override
109 {
110 return BeforeBrowseDelegate;
111 }
112
113 virtual FOnLoadUrl& OnLoadUrl() override
114 {
115 return LoadUrlDelegate;
116 }
117
118 virtual FOnCreateWindow& OnCreateWindow() override
119 {
120 return CreateWindowDelegate;
121 }
122
123 virtual FOnCloseWindow& OnCloseWindow() override
124 {
125 return CloseWindowDelegate;
126 }
127
129 {
131 }
132
134 {
135 return BeforePopupDelegate;
136 }
137
139 {
140 return BeforeResourceLoadDelegate;
141 }
142
144 {
145 return ResourceLoadCompleteDelegate;
146 }
147
149 {
150 return ConsoleMessageDelegate;
151 }
152
154 virtual FOnShowPopup& OnShowPopup() override
155 {
156 return ShowPopupEvent;
157 }
158
159 DECLARE_DERIVED_EVENT(FNativeWebBrowserProxy, IWebBrowserWindow::FOnDismissPopup, FOnDismissPopup);
160 virtual FOnDismissPopup& OnDismissPopup() override
161 {
162 return DismissPopupEvent;
163 }
164
165 virtual FOnShowDialog& OnShowDialog() override
166 {
167 return ShowDialogDelegate;
168 }
169
171 {
172 return DismissAllDialogsDelegate;
173 }
174
176 {
177 return SuppressContextMenuDelgate;
178 }
179
181 {
182 return UnhandledKeyDownDelegate;
183 }
184
186 {
187 return UnhandledKeyUpDelegate;
188 }
189
191 {
192 return UnhandledKeyCharDelegate;
193 }
194
195private:
196
198 FOnDocumentStateChanged DocumentStateChangedEvent;
199
201 FOnTitleChanged TitleChangedEvent;
202
204 FOnUrlChanged UrlChangedEvent;
205
207 FOnToolTip ToolTipEvent;
208
210 FOnNeedsRedraw NeedsRedrawEvent;
211
213 FOnBeforeBrowse BeforeBrowseDelegate;
214
216 FOnLoadUrl LoadUrlDelegate;
217
219 FOnBeforePopupDelegate BeforePopupDelegate;
220
222 FOnBeforeResourceLoadDelegate BeforeResourceLoadDelegate;
223
225 FOnResourceLoadCompleteDelegate ResourceLoadCompleteDelegate;
226
228 FOnConsoleMessageDelegate ConsoleMessageDelegate;
229
231 FOnCreateWindow CreateWindowDelegate;
232
234 FOnCloseWindow CloseWindowDelegate;
235
237 FOnFloatingCloseButtonPressed FloatingCloseButtonPressedDelegate;
238
240 FOnShowPopup ShowPopupEvent;
241
243 FOnDismissPopup DismissPopupEvent;
244
246 FOnShowDialog ShowDialogDelegate;
247
249 FOnDismissAllDialogs DismissAllDialogsDelegate;
250
252 FOnSuppressContextMenu SuppressContextMenuDelgate;
253
255 FOnUnhandledKeyDown UnhandledKeyDownDelegate;
256
258 FOnUnhandledKeyUp UnhandledKeyUpDelegate;
259
261 FOnUnhandledKeyChar UnhandledKeyCharDelegate;
262
263 FOnDragWindow DragWindowDelegate;
264
265 bool bJSBindingToLoweringEnabled;
266 FNativeJSScriptingPtr Scripting;
267};
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
EWebBrowserDocumentState
Definition IWebBrowserWindow.h:18
Definition CursorReply.h:16
static FCursorReply Unhandled()
Definition CursorReply.h:24
Definition NativeWebBrowserProxy.h:11
virtual FOnUnhandledKeyChar & OnUnhandledKeyChar() override
Definition NativeWebBrowserProxy.h:190
virtual void GoBack() override
Definition NativeWebBrowserProxy.cpp:178
virtual bool IsInitialized() const override
Definition NativeWebBrowserProxy.cpp:80
virtual FCursorReply OnCursorQuery(const FGeometry &MyGeometry, const FPointerEvent &CursorEvent) override
Definition NativeWebBrowserProxy.h:128
virtual void CloseBrowser(bool bForce, bool bBlockTillClosed) override
Definition NativeWebBrowserProxy.cpp:213
DECLARE_DERIVED_EVENT(FNativeWebBrowserProxy, IWebBrowserWindow::FOnToolTip, FOnToolTip)
virtual FOnNeedsRedraw & OnNeedsRedraw() override
Definition NativeWebBrowserProxy.h:103
virtual FOnSuppressContextMenu & OnSuppressContextMenu() override
Definition NativeWebBrowserProxy.h:175
virtual void OnFocus(bool SetFocus, bool bIsPopup) override
Definition NativeWebBrowserProxy.cpp:165
virtual FOnDismissAllDialogs & OnDismissAllDialogs() override
Definition NativeWebBrowserProxy.h:170
virtual ~FNativeWebBrowserProxy()
Definition NativeWebBrowserProxy.cpp:21
virtual FOnShowDialog & OnShowDialog() override
Definition NativeWebBrowserProxy.h:165
virtual FOnBeforeResourceLoadDelegate & OnBeforeResourceLoad() override
Definition NativeWebBrowserProxy.h:138
virtual void OnCaptureLost() override
Definition NativeWebBrowserProxy.cpp:169
virtual void UnbindUObject(const FString &Name, UObject *Object=nullptr, bool bIsPermanent=true) override
Definition NativeWebBrowserProxy.cpp:222
DECLARE_DERIVED_EVENT(FNativeWebBrowserProxy, IWebBrowserWindow::FOnTitleChanged, FOnTitleChanged)
virtual void SetIsDisabled(bool bValue) override
Definition NativeWebBrowserProxy.cpp:232
DECLARE_DERIVED_EVENT(FNativeWebBrowserProxy, IWebBrowserWindow::FOnDismissPopup, FOnDismissPopup)
virtual FOnDragWindow & OnDragWindow() override
Definition NativeWebBrowserProxy.h:52
virtual void LoadURL(FString NewURL) override
Definition NativeWebBrowserProxy.cpp:53
virtual FOnTitleChanged & OnTitleChanged() override
Definition NativeWebBrowserProxy.h:85
virtual void StopLoad() override
Definition NativeWebBrowserProxy.cpp:200
virtual FIntPoint GetViewportSize() const override
Definition NativeWebBrowserProxy.cpp:65
DECLARE_DERIVED_EVENT(FNativeWebBrowserProxy, IWebBrowserWindow::FOnDocumentStateChanged, FOnDocumentStateChanged)
virtual FReply OnMouseWheel(const FGeometry &MyGeometry, const FPointerEvent &MouseEvent, bool bIsPopup) override
Definition NativeWebBrowserProxy.cpp:159
virtual FReply OnMouseButtonUp(const FGeometry &MyGeometry, const FPointerEvent &MouseEvent, bool bIsPopup) override
Definition NativeWebBrowserProxy.cpp:140
virtual void BindUObject(const FString &Name, UObject *Object, bool bIsPermanent=true) override
Definition NativeWebBrowserProxy.cpp:217
virtual FReply OnMouseMove(const FGeometry &MyGeometry, const FPointerEvent &MouseEvent, bool bIsPopup) override
Definition NativeWebBrowserProxy.cpp:150
virtual void LoadString(FString Contents, FString DummyURL) override
Definition NativeWebBrowserProxy.cpp:57
DECLARE_DERIVED_EVENT(FNativeWebBrowserProxy, IWebBrowserWindow::FOnShowPopup, FOnShowPopup)
virtual FString GetUrl() const override
Definition NativeWebBrowserProxy.cpp:100
virtual bool IsValid() const override
Definition NativeWebBrowserProxy.cpp:75
virtual FReply OnMouseButtonDown(const FGeometry &MyGeometry, const FPointerEvent &MouseEvent, bool bIsPopup) override
Definition NativeWebBrowserProxy.cpp:135
virtual void SetSupportsMouseWheel(bool bValue) override
Definition NativeWebBrowserProxy.cpp:110
virtual FOnDismissPopup & OnDismissPopup() override
Definition NativeWebBrowserProxy.h:160
virtual int GetLoadError() override
Definition NativeWebBrowserProxy.cpp:227
virtual FOnResourceLoadCompleteDelegate & OnResourceLoadComplete() override
Definition NativeWebBrowserProxy.h:143
DECLARE_DERIVED_EVENT(FNativeWebBrowserProxy, IWebBrowserWindow::FOnNeedsRedraw, FOnNeedsRedraw)
virtual bool IsLoading() const override
Definition NativeWebBrowserProxy.cpp:191
virtual EWebBrowserDocumentState GetDocumentLoadingState() const override
Definition NativeWebBrowserProxy.cpp:90
virtual FOnUnhandledKeyUp & OnUnhandledKeyUp() override
Definition NativeWebBrowserProxy.h:185
virtual FOnCloseWindow & OnCloseWindow() override
Definition NativeWebBrowserProxy.h:123
virtual void ExecuteJavascript(const FString &Script) override
Definition NativeWebBrowserProxy.cpp:204
virtual FReply OnMouseButtonDoubleClick(const FGeometry &MyGeometry, const FPointerEvent &MouseEvent, bool bIsPopup) override
Definition NativeWebBrowserProxy.cpp:145
virtual FOnConsoleMessageDelegate & OnConsoleMessage() override
Definition NativeWebBrowserProxy.h:148
virtual void OnMouseLeave(const FPointerEvent &MouseEvent) override
Definition NativeWebBrowserProxy.cpp:155
virtual bool GetSupportsMouseWheel() const override
Definition NativeWebBrowserProxy.cpp:115
virtual void GoForward() override
Definition NativeWebBrowserProxy.cpp:187
DECLARE_DERIVED_EVENT(FNativeWebBrowserProxy, IWebBrowserWindow::FOnUrlChanged, FOnUrlChanged)
virtual FString GetTitle() const override
Definition NativeWebBrowserProxy.cpp:95
virtual void ShowFloatingCloseButton(bool bShow, bool bDraggable) override
Definition NativeWebBrowserProxy.h:73
virtual void SetParentWindow(TSharedPtr< SWindow > Window) override
Definition NativeWebBrowserProxy.cpp:241
virtual FOnLoadUrl & OnLoadUrl() override
Definition NativeWebBrowserProxy.h:113
virtual FOnCreateWindow & OnCreateWindow() override
Definition NativeWebBrowserProxy.h:118
virtual bool OnKeyChar(const FCharacterEvent &InCharacterEvent) override
Definition NativeWebBrowserProxy.cpp:130
virtual class FSlateShaderResource * GetTexture(bool bIsPopup=false) override
Definition NativeWebBrowserProxy.cpp:70
virtual FOnBeforeBrowse & OnBeforeBrowse() override
Definition NativeWebBrowserProxy.h:108
virtual bool IsClosing() const override
Definition NativeWebBrowserProxy.cpp:85
virtual FOnUrlChanged & OnUrlChanged() override
Definition NativeWebBrowserProxy.h:91
virtual FOnShowPopup & OnShowPopup() override
Definition NativeWebBrowserProxy.h:154
virtual FOnUnhandledKeyDown & OnUnhandledKeyDown() override
Definition NativeWebBrowserProxy.h:180
virtual void Reload() override
Definition NativeWebBrowserProxy.cpp:196
virtual bool CanGoForward() const override
Definition NativeWebBrowserProxy.cpp:182
virtual void SetViewportSize(FIntPoint WindowSize, FIntPoint WindowPos) override
Definition NativeWebBrowserProxy.cpp:61
virtual FOnToolTip & OnToolTip() override
Definition NativeWebBrowserProxy.h:97
virtual FOnDocumentStateChanged & OnDocumentStateChanged() override
Definition NativeWebBrowserProxy.h:79
virtual bool OnKeyUp(const FKeyEvent &InKeyEvent) override
Definition NativeWebBrowserProxy.cpp:125
virtual bool CanGoBack() const override
Definition NativeWebBrowserProxy.cpp:173
virtual void GetSource(TFunction< void(const FString &)> Callback) const override
Definition NativeWebBrowserProxy.cpp:105
virtual FOnBeforePopupDelegate & OnBeforePopup() override
Definition NativeWebBrowserProxy.h:133
virtual bool OnKeyDown(const FKeyEvent &InKeyEvent) override
Definition NativeWebBrowserProxy.cpp:120
virtual TSharedPtr< SWindow > GetParentWindow() const override
Definition NativeWebBrowserProxy.cpp:236
Definition Reply.h:24
Definition SlateShaderResource.h:44
Definition WebBrowserSingleton.h:52
Definition IWebBrowserWindow.h:85
Definition AndroidPlatformMisc.h:14
Definition SharedPointer.h:1640
Definition SharedPointer.h:692
Definition Object.h:95
Definition Events.h:606
Definition EmbeddedCommunication.h:20
Definition Geometry.h:40
Definition Events.h:431
Definition Events.h:695
Definition IntPoint.h:25