1 /*
2  * Copyright (c) 2021-2023 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #ifndef FOUNDATION_ACE_INTERFACE_INNERKITS_ACE_UI_CONTENT_H
17 #define FOUNDATION_ACE_INTERFACE_INNERKITS_ACE_UI_CONTENT_H
18 
19 #include <functional>
20 #include <map>
21 #include <memory>
22 #include <refbase.h>
23 #include <string>
24 #include <vector>
25 #include <list>
26 
27 #include "arkui_rect.h"
28 #include "macros.h"
29 #include "modal_ui_extension_config.h"
30 #include "popup_ui_extension_config.h"
31 #include "serialized_gesture.h"
32 #include "serializeable_object.h"
33 #include "viewport_config.h"
34 #include "constants.h"
35 namespace OHOS {
36 
37 namespace AbilityRuntime {
38 class Context;
39 } // namespace AbilityRuntime
40 
41 namespace AppExecFwk {
42 class Configuration;
43 class Ability;
44 class FormAshmem;
45 } // namespace AppExecFwk
46 
47 namespace Accessibility {
48 class AccessibilityElementInfo;
49 }
50 namespace Rosen {
51 class Window;
52 struct Rect;
53 enum class WindowSizeChangeReason : uint32_t;
54 enum class WindowMode : uint32_t;
55 enum class MaximizeMode : uint32_t;
56 class RSSurfaceNode;
57 class RSTransaction;
58 class Transform;
59 enum class AvoidAreaType : uint32_t;
60 class AvoidArea;
61 } // namespace Rosen
62 
63 namespace AAFwk {
64 class Want;
65 } // namespace AAFwk
66 
67 namespace MMI {
68 class PointerEvent;
69 class KeyEvent;
70 class AxisEvent;
71 } // namespace MMI
72 
73 namespace Media {
74 class PixelMap;
75 } // namespace Media
76 
77 namespace AbilityBase {
78 struct ViewData;
79 enum class AutoFillType;
80 } // namespace AbilityBase
81 
82 class RefBase;
83 class Parcelable;
84 class IRemoteObject;
85 
86 } // namespace OHOS
87 
88 namespace OHOS::Ace {
89 struct AccessibilityParentRectInfo;
90 } // namespace OHOS::Ace
91 
92 class NativeEngine;
93 typedef struct napi_value__* napi_value;
94 
95 namespace OHOS::Ace {
96 class ACE_FORCE_EXPORT UIContent {
97 public:
98     static std::unique_ptr<UIContent> Create(
99         OHOS::AbilityRuntime::Context* context, NativeEngine* runtime, bool isFormRender);
100     static std::unique_ptr<UIContent> Create(OHOS::AbilityRuntime::Context* context, NativeEngine* runtime);
101     static std::unique_ptr<UIContent> Create(OHOS::AppExecFwk::Ability* ability);
102     static void ShowDumpHelp(std::vector<std::string>& info);
103     static UIContent* GetUIContent(int32_t instanceId);
104     static std::string GetCurrentUIStackInfo();
105 
106     virtual ~UIContent() = default;
107 
108     // UI content life-cycles
109     virtual UIContentErrorCode Initialize(OHOS::Rosen::Window* window, const std::string& url, napi_value storage) = 0;
110     virtual UIContentErrorCode Initialize(
111         OHOS::Rosen::Window* window, const std::shared_ptr<std::vector<uint8_t>>& content, napi_value storage) = 0;
112     virtual UIContentErrorCode InitializeByName(OHOS::Rosen::Window *window, const std::string &name,
113                                                 napi_value storage) = 0;
InitializeDynamic(int32_t hostInstanceId, const std::string& hapPath, const std::string& abcPath, const std::string& entryPoint, const std::vector<std::string>& registerComponents)114     virtual void InitializeDynamic(int32_t hostInstanceId, const std::string& hapPath, const std::string& abcPath,
115         const std::string& entryPoint, const std::vector<std::string>& registerComponents) {};
116 
117     // UIExtensionAbility initialize for focusWindow ID
118     virtual void Initialize(
119         OHOS::Rosen::Window* window, const std::string& url, napi_value storage, uint32_t focusWindowID) = 0;
120     virtual void Foreground() = 0;
121     virtual void Background() = 0;
122     virtual void Focus() = 0;
123     virtual void UnFocus() = 0;
124     virtual void Destroy() = 0;
125     virtual void OnNewWant(const OHOS::AAFwk::Want& want) = 0;
126 
127     // restore
128     virtual UIContentErrorCode Restore(
129         OHOS::Rosen::Window* window, const std::string& contentInfo, napi_value storage,
130         ContentInfoType type = ContentInfoType::CONTINUATION) = 0;
131     virtual std::string GetContentInfo(ContentInfoType type = ContentInfoType::CONTINUATION) const = 0;
132     virtual void DestroyUIDirector() = 0;
133 
134     // UI content event process
135     virtual bool ProcessBackPressed() = 0;
136     virtual bool ProcessPointerEvent(const std::shared_ptr<OHOS::MMI::PointerEvent>& pointerEvent) = 0;
137     virtual bool ProcessKeyEvent(const std::shared_ptr<OHOS::MMI::KeyEvent>& keyEvent, bool isPreIme = false) = 0;
138     virtual bool ProcessAxisEvent(const std::shared_ptr<OHOS::MMI::AxisEvent>& axisEvent) = 0;
139     virtual bool ProcessVsyncEvent(uint64_t timeStampNanos) = 0;
140     virtual void SetIsFocusActive(bool isFocusActive) = 0;
141     virtual void UpdateConfiguration(const std::shared_ptr<OHOS::AppExecFwk::Configuration>& config) = 0;
UpdateViewportConfig(const ViewportConfig& config, OHOS::Rosen::WindowSizeChangeReason reason, const std::shared_ptr<OHOS::Rosen::RSTransaction>& rsTransaction = nullptr, const std::map<OHOS::Rosen::AvoidAreaType, OHOS::Rosen::AvoidArea>& avoidAreas = {})142     virtual void UpdateViewportConfig(const ViewportConfig& config, OHOS::Rosen::WindowSizeChangeReason reason,
143         const std::shared_ptr<OHOS::Rosen::RSTransaction>& rsTransaction = nullptr,
144         const std::map<OHOS::Rosen::AvoidAreaType, OHOS::Rosen::AvoidArea>& avoidAreas = {}) {};
145     virtual void UpdateWindowMode(OHOS::Rosen::WindowMode mode, bool hasDeco = true) = 0;
146     virtual void HideWindowTitleButton(bool hideSplit, bool hideMaximize, bool hideMinimize, bool hideClose) = 0;
147     virtual void SetIgnoreViewSafeArea(bool ignoreViewSafeArea) = 0;
UpdateMaximizeMode(OHOS::Rosen::MaximizeMode mode)148     virtual void UpdateMaximizeMode(OHOS::Rosen::MaximizeMode mode) {};
ProcessFormVisibleChange(bool isVisible)149     virtual void ProcessFormVisibleChange(bool isVisible) {};
NotifyRotationAnimationEnd()150     virtual void NotifyRotationAnimationEnd() {};
151 
152     // only vaild in ContainerModalPatternEnhance
153     virtual void UpdateTitleInTargetPos(bool isShow, int32_t height) = 0;
154 
155     // Window color
156     virtual uint32_t GetBackgroundColor() = 0;
157     virtual void SetBackgroundColor(uint32_t color) = 0;
SetUIContentType(UIContentType uIContentType)158     virtual void SetUIContentType(UIContentType uIContentType) {};
159     virtual void SetWindowContainerColor(uint32_t activeColor, uint32_t inactiveColor) = 0;
160 
161     // Judge whether window need soft keyboard or not
NeedSoftKeyboard()162     virtual bool NeedSoftKeyboard()
163     {
164         return false;
165     }
166 
ChangeSensitiveNodes(bool isSensitive)167     virtual void ChangeSensitiveNodes(bool isSensitive) {}
168 
SetOnWindowFocused(const std::function<void()>& callback)169     virtual void SetOnWindowFocused(const std::function<void()>& callback) {};
170 
171     virtual void DumpInfo(const std::vector<std::string>& params, std::vector<std::string>& info) = 0;
172 
173     // Set UIContent callback for custom window animation
174     virtual void SetNextFrameLayoutCallback(std::function<void()>&& callback) = 0;
175 
176     // Receive memory level notification
177     virtual void NotifyMemoryLevel(int32_t level) = 0;
178 
179     virtual void SetAppWindowTitle(const std::string& title) = 0;
180     virtual void SetAppWindowIcon(const std::shared_ptr<Media::PixelMap>& pixelMap) = 0;
181 
182     // ArkTS Form
183     virtual void PreInitializeForm(OHOS::Rosen::Window* window, const std::string& url, napi_value storage) = 0;
184     virtual void RunFormPage() = 0;
185     virtual std::shared_ptr<Rosen::RSSurfaceNode> GetFormRootNode() = 0;
186 
187     virtual void UpdateFormData(const std::string& data) = 0;
UpdateFormSharedImage(const std::map<std::string, sptr<OHOS::AppExecFwk::FormAshmem>>& imageDataMap)188     virtual void UpdateFormSharedImage(const std::map<std::string, sptr<OHOS::AppExecFwk::FormAshmem>>& imageDataMap) {}
189 
190     virtual void SetFormWidth(const float width) = 0;
191     virtual void SetFormHeight(const float height) = 0;
192     virtual float GetFormWidth() = 0;
193     virtual float GetFormHeight() = 0;
ReloadForm(const std::string& url)194     virtual void ReloadForm(const std::string& url) {};
OnFormSurfaceChange(float width, float height, OHOS::Rosen::WindowSizeChangeReason type = static_cast<OHOS::Rosen::WindowSizeChangeReason>(0), const std::shared_ptr<Rosen::RSTransaction>& rsTransaction = nullptr)195     virtual void OnFormSurfaceChange(float width, float height,
196         OHOS::Rosen::WindowSizeChangeReason type = static_cast<OHOS::Rosen::WindowSizeChangeReason>(0),
197         const std::shared_ptr<Rosen::RSTransaction>& rsTransaction = nullptr) {}
198 
SetFormBackgroundColor(const std::string& color)199     virtual void SetFormBackgroundColor(const std::string& color) {};
SetFontScaleFollowSystem(const bool fontScaleFollowSystem)200     virtual void SetFontScaleFollowSystem(const bool fontScaleFollowSystem) {};
SetFormRenderingMode(int8_t renderMode)201     virtual void SetFormRenderingMode(int8_t renderMode) {};
202 
SetActionEventHandler(std::function<void(const std::string&)>&& actionCallback)203     virtual void SetActionEventHandler(std::function<void(const std::string&)>&& actionCallback) {};
SetErrorEventHandler(std::function<void(const std::string&, const std::string&)>&& errorCallback)204     virtual void SetErrorEventHandler(std::function<void(const std::string&, const std::string&)>&& errorCallback) {};
SetFormLinkInfoUpdateHandler(std::function<void(const std::vector<std::string>&)>&& callback)205     virtual void SetFormLinkInfoUpdateHandler(std::function<void(const std::vector<std::string>&)>&& callback) {};
RegisterAccessibilityChildTree( uint32_t parentWindowId, int32_t parentTreeId, int64_t parentElementId)206     virtual void RegisterAccessibilityChildTree(
207         uint32_t parentWindowId, int32_t parentTreeId, int64_t parentElementId) {};
SetAccessibilityGetParentRectHandler(std::function<void(int32_t&, int32_t&)>&& callback)208     virtual void SetAccessibilityGetParentRectHandler(std::function<void(int32_t&, int32_t&)>&& callback) {};
SetAccessibilityGetParentRectHandler(std::function<void(AccessibilityParentRectInfo&)>&& callback)209     virtual void SetAccessibilityGetParentRectHandler(std::function<void(AccessibilityParentRectInfo&)>&& callback) {};
DeregisterAccessibilityChildTree()210     virtual void DeregisterAccessibilityChildTree() {};
AccessibilityDumpChildInfo(const std::vector<std::string>& params, std::vector<std::string>& info)211     virtual void AccessibilityDumpChildInfo(const std::vector<std::string>& params, std::vector<std::string>& info) {};
212 
213     // for distribute UI source
DumpUITree()214     virtual SerializeableObjectArray DumpUITree()
215     {
216         return SerializeableObjectArray();
217     };
SubscribeUpdate(const std::function<void(int32_t, SerializeableObjectArray&)>& onUpdate)218     virtual void SubscribeUpdate(const std::function<void(int32_t, SerializeableObjectArray&)>& onUpdate) {}
UnSubscribeUpdate()219     virtual void UnSubscribeUpdate() {}
ProcessSerializeableInputEvent(const SerializeableObjectArray& array)220     virtual void ProcessSerializeableInputEvent(const SerializeableObjectArray& array) {}
221     // for distribute UI sink
RestoreUITree(const SerializeableObjectArray& array)222     virtual void RestoreUITree(const SerializeableObjectArray& array) {}
UpdateUITree(const SerializeableObjectArray& array)223     virtual void UpdateUITree(const SerializeableObjectArray& array) {}
SubscribeInputEventProcess(const std::function<void(SerializeableObjectArray&)>& onEvent)224     virtual void SubscribeInputEventProcess(const std::function<void(SerializeableObjectArray&)>& onEvent) {}
UnSubscribeInputEventProcess()225     virtual void UnSubscribeInputEventProcess() {}
226 
GetResourcePaths(std::vector<std::string>& resourcesPaths, std::string& assetRootPath, std::vector<std::string>& assetBasePaths, std::string& resFolderName)227     virtual void GetResourcePaths(std::vector<std::string>& resourcesPaths, std::string& assetRootPath,
228         std::vector<std::string>& assetBasePaths, std::string& resFolderName) {};
SetResourcePaths(const std::vector<std::string>& resourcesPaths, const std::string& assetRootPath, const std::vector<std::string>& assetBasePaths)229     virtual void SetResourcePaths(const std::vector<std::string>& resourcesPaths, const std::string& assetRootPath,
230         const std::vector<std::string>& assetBasePaths) {};
231 
UpdateResource()232     virtual void UpdateResource() {}
233 
GetUINapiContext()234     virtual napi_value GetUINapiContext()
235     {
236         napi_value result = nullptr;
237         return result;
238     }
239 
240     /**
241      * @description: Create a full-window modal UIExtensionComponent.
242      * @param want Indicates the want of UIExtensionAbility.
243      * @param callbacks Indicates the UIExtensionComponent callbacks.
244      * @param config Indicates the Modal page configs.
245      * @return The return value is the ID of the session held by the UIExtensionComponent
246      * if creation is not successful, it returns 0 by default.
247      */
248     virtual int32_t CreateModalUIExtension(
249         const AAFwk::Want& want, const ModalUIExtensionCallbacks& callbacks, const ModalUIExtensionConfig& config) = 0;
250 
251     /**
252      * @description: Close the full-window modal.
253      * @param sessionId Indicates the sessionId of UIExtensionAbility.
254      * If the sessionId is 0, refuse to close
255      */
256     virtual void CloseModalUIExtension(int32_t sessionId) = 0;
257 
258     /**
259      * @description: Set parent ability token.
260      * @param token ability token.
261      */
262     virtual void SetParentToken(sptr<IRemoteObject> token);
263 
264     /**
265      * @description: Get parent ability token.
266      * @return return parent ability token.
267      */
268     virtual sptr<IRemoteObject> GetParentToken();
269 
DumpViewData(AbilityBase::ViewData& viewData, AbilityBase::AutoFillType& type)270     virtual bool DumpViewData(AbilityBase::ViewData& viewData, AbilityBase::AutoFillType& type)
271     {
272         return false;
273     }
274 
CheckNeedAutoSave()275     virtual bool CheckNeedAutoSave()
276     {
277         return false;
278     }
279 
GetInstanceId()280     virtual int32_t GetInstanceId()
281     {
282         return -1;
283     }
284 
285     /**
286      * @description: Recycle form.
287      * @return return Json string of status data of ArkTS form.
288      */
RecycleForm()289     virtual std::string RecycleForm()
290     {
291         return "";
292     }
293 
294     /**
295      * @description: Recover form.
296      * @param statusData Indicates json string of status data of ArkTS form.
297      */
RecoverForm(const std::string &statusData)298     virtual void RecoverForm(const std::string &statusData) {}
299 
SetContainerModalTitleVisible(bool customTitleSettedShow, bool floatingTitleSettedShow)300     virtual void SetContainerModalTitleVisible(bool customTitleSettedShow, bool floatingTitleSettedShow) {}
301 
SetContainerModalTitleHeight(int height)302     virtual void SetContainerModalTitleHeight(int height) {}
303 
GetContainerModalTitleHeight()304     virtual int32_t GetContainerModalTitleHeight()
305     {
306         return -1;
307     }
308 
GetContainerModalButtonsRect(Rosen::Rect& containerModal, Rosen::Rect& buttons)309     virtual bool GetContainerModalButtonsRect(Rosen::Rect& containerModal, Rosen::Rect& buttons)
310     {
311         return false;
312     }
313 
SubscribeContainerModalButtonsRectChange( std::function<void(Rosen::Rect& containerModal, Rosen::Rect& buttons)>&& callback)314     virtual void SubscribeContainerModalButtonsRectChange(
315         std::function<void(Rosen::Rect& containerModal, Rosen::Rect& buttons)>&& callback) {}
316 
SetUIExtensionSubWindow(bool isUIExtensionSubWindow)317     virtual void SetUIExtensionSubWindow(bool isUIExtensionSubWindow) {}
318 
IsUIExtensionSubWindow()319     virtual bool IsUIExtensionSubWindow()
320     {
321         return false;
322     }
323 
SetUIExtensionAbilityProcess(bool isUIExtensionAbilityProcess)324     virtual void SetUIExtensionAbilityProcess(bool isUIExtensionAbilityProcess) {}
325 
IsUIExtensionAbilityProcess()326     virtual bool IsUIExtensionAbilityProcess()
327     {
328         return false;
329     }
330 
SetUIExtensionAbilityHost(bool isUIExtensionAbilityHost)331     virtual void SetUIExtensionAbilityHost(bool isUIExtensionAbilityHost) {}
332 
IsUIExtensionAbilityHost()333     virtual bool IsUIExtensionAbilityHost()
334     {
335         return false;
336     }
337 
338 #ifndef PREVIEW
SearchElementInfoByAccessibilityId( int64_t elementId, int32_t mode, int64_t baseParent, std::list<Accessibility::AccessibilityElementInfo>& output)339     virtual void SearchElementInfoByAccessibilityId(
340         int64_t elementId, int32_t mode,
341         int64_t baseParent, std::list<Accessibility::AccessibilityElementInfo>& output) {};
342 
SearchElementInfosByText( int64_t elementId, const std::string& text, int64_t baseParent, std::list<Accessibility::AccessibilityElementInfo>& output)343     virtual void SearchElementInfosByText(
344         int64_t elementId, const std::string& text, int64_t baseParent,
345         std::list<Accessibility::AccessibilityElementInfo>& output) {};
346 
FindFocusedElementInfo( int64_t elementId, int32_t focusType, int64_t baseParent, Accessibility::AccessibilityElementInfo& output)347     virtual void FindFocusedElementInfo(
348         int64_t elementId, int32_t focusType,
349         int64_t baseParent, Accessibility::AccessibilityElementInfo& output) {};
350 
FocusMoveSearch( int64_t elementId, int32_t direction, int64_t baseParent, Accessibility::AccessibilityElementInfo& output)351     virtual void FocusMoveSearch(
352         int64_t elementId, int32_t direction,
353         int64_t baseParent, Accessibility::AccessibilityElementInfo& output) {};
354 
NotifyExecuteAction(int64_t elementId, const std::map<std::string, std::string>& actionArguments, int32_t action, int64_t offset)355     virtual bool NotifyExecuteAction(int64_t elementId, const std::map<std::string, std::string>& actionArguments,
356         int32_t action, int64_t offset)
357     {
358         return false;
359     }
360 
HandleAccessibilityHoverEvent(float pointX, float pointY, int32_t sourceType, int32_t eventType, int64_t timeMs)361     virtual void HandleAccessibilityHoverEvent(float pointX, float pointY, int32_t sourceType,
362         int32_t eventType, int64_t timeMs) {}
363 #endif
364 
365     /**
366      * @description: Set UIContent callback after layout finish.
367      * @param callback callback func.
368      */
SetFrameLayoutFinishCallback(std::function<void()>&& callback)369     virtual void SetFrameLayoutFinishCallback(std::function<void()>&& callback) {};
370 
371     /**
372      * @description: Set UIContent callback after lastest layout finish.
373      * @param callback callback func.
374      */
SetLastestFrameLayoutFinishCallback(std::function<void()>&& callback)375     virtual void SetLastestFrameLayoutFinishCallback(std::function<void()>&& callback) {};
376 
377     // Current paintSize of window
GetAppPaintSize(OHOS::Rosen::Rect& paintrect)378     virtual void GetAppPaintSize(OHOS::Rosen::Rect& paintrect) {};
379 
380     // Get paintSize of window by calculating
GetWindowPaintSize(OHOS::Rosen::Rect& paintrect)381     virtual void GetWindowPaintSize(OHOS::Rosen::Rect& paintrect) {};
382 
383     /**
384      * @description: Create a custom popup with UIExtensionComponent.
385      * @param want Indicates the want of UIExtensionAbility.
386      * @param callbacks Indicates the UIExtensionComponent callbacks.
387      * @param config Indicates the custom popup configs.
388      * @return The return value is the ID of the UI node which bind the pupop
389      * if creation is not successful, it returns 0 by default.
390      */
CreateCustomPopupUIExtension( const AAFwk::Want& want, const ModalUIExtensionCallbacks& callbacks, const CustomPopupUIExtensionConfig& config)391     virtual int32_t CreateCustomPopupUIExtension(
392         const AAFwk::Want& want, const ModalUIExtensionCallbacks& callbacks, const CustomPopupUIExtensionConfig& config)
393     {
394         return 0;
395     }
396 
397     /**
398      * @description: Destroy the custom popup.
399      * @param config Indicates the ID of the UI node which bind the pupop
400      */
DestroyCustomPopupUIExtension(int32_t nodeId)401     virtual void DestroyCustomPopupUIExtension(int32_t nodeId) {}
402 
403     /**
404      * @description: Update the custom popup.
405      * @param config Indicates the custom popup configs.
406       */
UpdateCustomPopupUIExtension(const CustomPopupUIExtensionConfig& config)407     virtual void UpdateCustomPopupUIExtension(const CustomPopupUIExtensionConfig& config) {}
408 
GetFormSerializedGesture()409     virtual SerializedGesture GetFormSerializedGesture()
410     {
411         return SerializedGesture();
412     }
413 
ProcessPointerEventWithCallback( const std::shared_ptr<OHOS::MMI::PointerEvent>& pointerEvent, const std::function<void()>& callback)414     virtual bool ProcessPointerEventWithCallback(
415         const std::shared_ptr<OHOS::MMI::PointerEvent>& pointerEvent, const std::function<void()>& callback)
416     {
417         return true;
418     };
419 
UpdateTransform(const OHOS::Rosen::Transform& transform)420     virtual void UpdateTransform(const OHOS::Rosen::Transform& transform) {};
421 
UpdateDecorVisible(bool visible, bool hasDeco = true)422     virtual void UpdateDecorVisible(bool visible, bool hasDeco = true) {};
423 
GetOverlayNodePositions() const424     virtual std::vector<Ace::RectF> GetOverlayNodePositions() const
425     {
426         return {};
427     };
428 
RegisterOverlayNodePositionsUpdateCallback( const std::function<void(std::vector<Ace::RectF>)>& callback) const429     virtual void RegisterOverlayNodePositionsUpdateCallback(
430         const std::function<void(std::vector<Ace::RectF>)>& callback) const {};
431 
SetContentNodeGrayScale(float grayscale)432     virtual void SetContentNodeGrayScale(float grayscale) {};
433 
GetRemoteObj()434     virtual sptr<IRemoteObject> GetRemoteObj()
435     {
436         return {};
437     }
438 
PreLayout()439     virtual void PreLayout() {};
440 
SetStatusBarItemColor(uint32_t color)441     virtual void SetStatusBarItemColor(uint32_t color) {};
442 
SetForceSplitEnable(bool isForceSplit, const std::string& homePage)443     virtual void SetForceSplitEnable(bool isForceSplit, const std::string& homePage) {};
444 };
445 
446 } // namespace OHOS::Ace
447 
448 #endif // FOUNDATION_ACE_INTERFACE_INNERKITS_ACE_UI_CONTENT_H
449