• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2023-2024 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_FRAMEWORKS_CORE_COMPONENTS_NG_PATTERNS_WEB_WEB_MODEL_H
17 #define FOUNDATION_ACE_FRAMEWORKS_CORE_COMPONENTS_NG_PATTERNS_WEB_WEB_MODEL_H
18 
19 #include <mutex>
20 
21 #include "bridge/declarative_frontend/view_stack_processor.h"
22 #include "core/components/web/web_property.h"
23 #include "core/components_ng/property/menu_property.h"
24 
25 namespace OHOS::Ace {
26 using ScriptItems = std::map<std::string, std::vector<std::string>>;
27 using SetFaviconCallback = std::function<void(const std::shared_ptr<BaseEventInfo>&)>;
28 class ACE_FORCE_EXPORT WebModel {
29 public:
30     static WebModel* GetInstance();
31     virtual ~WebModel() = default;
32 
33     virtual void Create(const std::string& src, const RefPtr<WebController>& webController,
34         RenderMode renderMode = RenderMode::ASYNC_RENDER, bool incognitoMode = false,
35         const std::string& sharedRenderProcessToken = "") = 0;
36     virtual void Create(const std::string& src, std::function<void(int32_t)>&& setWebIdCallback,
37         std::function<void(const std::string&)>&& setHapPathCallback, int32_t parentWebId, bool popup,
38         RenderMode renderMode = RenderMode::ASYNC_RENDER, bool incognitoMode = false,
39         const std::string& sharedRenderProcessToken = "") = 0;
GetDefaultBackgroundColor()40     virtual Color GetDefaultBackgroundColor() { return Color::WHITE; }
41     virtual void SetCustomScheme(const std::string& cmdLine) = 0;
SetFocusable(bool focusable)42     virtual void SetFocusable(bool focusable) {};
SetFocusNode(bool isFocusNode)43     virtual void SetFocusNode(bool isFocusNode) {};
44     virtual void SetOnCommonDialog(
45         std::function<bool(const BaseEventInfo* info)>&& jsCallback, int dialogEventType) = 0;
46     virtual void SetOnConsoleLog(std::function<bool(const BaseEventInfo* info)>&& jsCallback) = 0;
47     virtual void SetOnPageStart(std::function<void(const BaseEventInfo* info)>&& jsCallback) = 0;
48     virtual void SetOnPageFinish(std::function<void(const BaseEventInfo* info)>&& jsCallback) = 0;
49     virtual void SetOnProgressChange(std::function<void(const BaseEventInfo* info)>&& jsCallback) = 0;
50     virtual void SetOnTitleReceive(std::function<void(const BaseEventInfo* info)>&& jsCallback) = 0;
51     virtual void SetOnFullScreenExit(std::function<void(const BaseEventInfo* info)>&& jsCallback) = 0;
52     virtual void SetOnFullScreenEnter(std::function<void(const BaseEventInfo* info)>&& jsCallback) = 0;
53     virtual void SetOnGeolocationHide(std::function<void(const BaseEventInfo* info)>&& jsCallback) = 0;
54     virtual void SetOnGeolocationShow(std::function<void(const BaseEventInfo* info)>&& jsCallback) = 0;
55     virtual void SetOnRequestFocus(std::function<void(const BaseEventInfo* info)>&& jsCallback) = 0;
56     virtual void SetOnDownloadStart(std::function<void(const BaseEventInfo* info)>&& jsCallback) = 0;
57     virtual void SetOnHttpAuthRequest(std::function<bool(const BaseEventInfo* info)>&& jsCallback) = 0;
58     virtual void SetOnSslErrorRequest(std::function<bool(const BaseEventInfo* info)>&& jsCallback) = 0;
59     virtual void SetOnAllSslErrorRequest(std::function<bool(const BaseEventInfo *info)> &&jsCallback) = 0;
60     virtual void SetOnSslSelectCertRequest(std::function<bool(const BaseEventInfo* info)>&& jsCallback) = 0;
61     virtual void SetMediaPlayGestureAccess(bool isNeedGestureAccess) = 0;
62     virtual void SetOnKeyEvent(std::function<void(KeyEventInfo& keyEventInfo)>&& jsCallback) = 0;
63     virtual void SetOnErrorReceive(std::function<void(const BaseEventInfo* info)>&& jsCallback) = 0;
64     virtual void SetOnHttpErrorReceive(std::function<void(const BaseEventInfo* info)>&& jsCallback) = 0;
65     virtual void SetOnInterceptRequest(std::function<RefPtr<WebResponse>(const BaseEventInfo* info)>&& jsCallback) = 0;
66     virtual void SetOnOverrideErrorPage(std::function<std::string(const BaseEventInfo* info)>&& jsCallback) = 0;
67     virtual void SetOnUrlLoadIntercept(std::function<bool(const BaseEventInfo* info)>&& jsCallback) = 0;
68     virtual void SetOnLoadIntercept(std::function<bool(const BaseEventInfo* info)>&& jsCallback) = 0;
69     virtual void SetOnFileSelectorShow(std::function<bool(const BaseEventInfo* info)>&& jsCallback) = 0;
70     virtual void SetOnContextMenuShow(std::function<bool(const BaseEventInfo* info)>&& jsCallback) = 0;
71     virtual void SetOnContextMenuHide(std::function<void(const BaseEventInfo* info)>&& jsCallback) = 0;
SetNewDragStyle(bool isNewDragStyle)72     virtual void SetNewDragStyle(bool isNewDragStyle) {}
SetPreviewSelectionMenu(const std::shared_ptr<WebPreviewSelectionMenuParam> & param)73     virtual void SetPreviewSelectionMenu(const std::shared_ptr<WebPreviewSelectionMenuParam>& param) {}
74     virtual void SetJsEnabled(bool isJsEnabled) = 0;
75     virtual void SetFileAccessEnabled(bool isFileAccessEnabled) = 0;
76     virtual void SetOnLineImageAccessEnabled(bool isOnLineImageAccessEnabled) = 0;
77     virtual void SetDomStorageAccessEnabled(bool isDomStorageAccessEnabled) = 0;
78     virtual void SetImageAccessEnabled(bool isImageAccessEnabled) = 0;
79     virtual void SetMixedMode(MixedModeContent mixedMode) = 0;
80     virtual void SetZoomAccessEnabled(bool isZoomAccessEnabled) = 0;
81     virtual void SetGeolocationAccessEnabled(bool isGeolocationAccessEnabled) = 0;
82     virtual void SetJsProxyCallback(std::function<void()>&& jsProxyCallback) = 0;
83     virtual void SetUserAgent(const std::string& userAgent) = 0;
84     virtual void SetRenderExitedId(std::function<void(const BaseEventInfo* info)>&& jsCallback) = 0;
85     virtual void SetRefreshAccessedHistoryId(std::function<void(const BaseEventInfo* info)>&& jsCallback) = 0;
86     virtual void SetCacheMode(WebCacheMode cacheMode) = 0;
87     virtual void SetOverviewModeAccessEnabled(bool isOverviewModeAccessEnabled) = 0;
88     virtual void SetFileFromUrlAccessEnabled(bool isFileFromUrlAccessEnabled) = 0;
89     virtual void SetDatabaseAccessEnabled(bool isDatabaseAccessEnabled) = 0;
90     virtual void SetTextZoomRatio(int32_t textZoomRatioNum) = 0;
91     virtual void SetWebDebuggingAccessEnabled(bool isWebDebuggingAccessEnabled) = 0;
92     virtual void SetWebDebuggingAccessEnabledAndPort(
93         bool isWebDebuggingAccessEnabled, int32_t webDebuggingPort) = 0;
94     virtual void SetOnMouseEvent(std::function<void(MouseInfo& info)>&& jsCallback) = 0;
95     virtual void SetResourceLoadId(std::function<void(const BaseEventInfo* info)>&& jsCallback) = 0;
96     virtual void SetScaleChangeId(std::function<void(const BaseEventInfo* info)>&& jsCallback) = 0;
97     virtual void SetScrollId(std::function<void(const BaseEventInfo* info)>&& jsCallback) = 0;
98     virtual void SetPermissionRequestEventId(std::function<void(const BaseEventInfo* info)>&& jsCallback) = 0;
99     virtual void SetBackgroundColor(Color backgroundColor) = 0;
100     virtual void InitialScale(float scale) = 0;
101     virtual void SetSearchResultReceiveEventId(std::function<void(const BaseEventInfo* info)>&& jsCallback) = 0;
102 
103     virtual void SetOnDragStart(
104         std::function<NG::DragDropBaseInfo(const RefPtr<OHOS::Ace::DragEvent>& info, const std::string& extraParams)>&&
105             onDragStart) = 0;
106     virtual void SetOnDragEnter(
107         std::function<void(const RefPtr<OHOS::Ace::DragEvent>& info, const std::string& extraParams)>&&
108             onDragEnter) = 0;
109     virtual void SetOnDragMove(
110         std::function<void(const RefPtr<DragEvent>& info, const std::string& extraParams)>&& onDragMoveId) = 0;
111     virtual void SetOnDragLeave(std::function<void(const RefPtr<DragEvent>&, const std::string&)>&& onDragLeave) = 0;
112     virtual void SetOnDrop(std::function<void(const RefPtr<DragEvent>&, const std::string&)>&& onDropId) = 0;
113     virtual void SetPinchSmoothModeEnabled(bool isPinchSmoothModeEnabled) = 0;
114     virtual void SetWindowNewEvent(std::function<void(const std::shared_ptr<BaseEventInfo>& info)>&& jsCallback) = 0;
115     virtual void SetActivateContentEventId(std::function<void(const BaseEventInfo* info)>&& jsCallback) = 0;
116     virtual void SetWindowExitEventId(std::function<void(const BaseEventInfo* info)>&& jsCallback) = 0;
117 
118     virtual void SetMultiWindowAccessEnabled(bool isMultiWindowAccessEnable) = 0;
119     virtual void SetAllowWindowOpenMethod(bool isAllowWindowOpenMethod) = 0;
SetWebCursiveFont(const std::string & cursiveFontFamily)120     virtual void SetWebCursiveFont(const std::string& cursiveFontFamily) {};
SetWebFantasyFont(const std::string & fixedFontFamily)121     virtual void SetWebFantasyFont(const std::string& fixedFontFamily) {};
SetWebFixedFont(const std::string & fixedFontFamily)122     virtual void SetWebFixedFont(const std::string& fixedFontFamily) {};
SetWebSansSerifFont(const std::string & sansSerifFontFamily)123     virtual void SetWebSansSerifFont(const std::string& sansSerifFontFamily) {};
SetWebSerifFont(const std::string & serifFontFamily)124     virtual void SetWebSerifFont(const std::string& serifFontFamily) {};
SetWebStandardFont(const std::string & standardFontFamily)125     virtual void SetWebStandardFont(const std::string& standardFontFamily) {};
SetDefaultFixedFontSize(int32_t defaultFixedFontSize)126     virtual void SetDefaultFixedFontSize(int32_t defaultFixedFontSize) {};
SetDefaultFontSize(int32_t defaultFontSize)127     virtual void SetDefaultFontSize(int32_t defaultFontSize) {};
SetDefaultTextEncodingFormat(const std::string & textEncodingFormat)128     virtual void SetDefaultTextEncodingFormat(const std::string& textEncodingFormat) {};
SetMinFontSize(int32_t minFontSize)129     virtual void SetMinFontSize(int32_t minFontSize) {};
SetMinLogicalFontSize(int32_t minLogicalFontSize)130     virtual void SetMinLogicalFontSize(int32_t minLogicalFontSize) {};
SetBlockNetwork(bool isNetworkBlocked)131     virtual void SetBlockNetwork(bool isNetworkBlocked) {};
132 
SetPageVisibleId(std::function<void (const std::shared_ptr<BaseEventInfo> & info)> && pageVisibleId)133     virtual void SetPageVisibleId(std::function<void(const std::shared_ptr<BaseEventInfo>& info)>&& pageVisibleId) {};
SetAudioStateChangedId(std::function<void (const std::shared_ptr<BaseEventInfo> & info)> && audioStateChanged)134     virtual void SetAudioStateChangedId(
135         std::function<void(const std::shared_ptr<BaseEventInfo>& info)>&& audioStateChanged) {};
SetFirstContentfulPaintId(std::function<void (const std::shared_ptr<BaseEventInfo> & info)> && firstContentfulPaintId)136     virtual void SetFirstContentfulPaintId(
137         std::function<void(const std::shared_ptr<BaseEventInfo>& info)>&& firstContentfulPaintId) {};
SetFirstMeaningfulPaintId(std::function<void (const std::shared_ptr<BaseEventInfo> & info)> && firstMeaningfulPaintId)138     virtual void SetFirstMeaningfulPaintId(
139         std::function<void(const std::shared_ptr<BaseEventInfo>& info)>&& firstMeaningfulPaintId) {};
SetLargestContentfulPaintId(std::function<void (const std::shared_ptr<BaseEventInfo> & info)> && largestContentfulPaintId)140     virtual void SetLargestContentfulPaintId(
141         std::function<void(const std::shared_ptr<BaseEventInfo>& info)>&& largestContentfulPaintId) {};
SetSafeBrowsingCheckResultId(std::function<void (const std::shared_ptr<BaseEventInfo> & info)> && safeBrowsingCheckResultId)142     virtual void SetSafeBrowsingCheckResultId(
143         std::function<void(const std::shared_ptr<BaseEventInfo>& info)>&& safeBrowsingCheckResultId) {};
SetNavigationEntryCommittedId(std::function<void (const std::shared_ptr<BaseEventInfo> & info)> && navigationEntryCommittedId)144     virtual void SetNavigationEntryCommittedId(
145         std::function<void(const std::shared_ptr<BaseEventInfo>& info)>&& navigationEntryCommittedId) {};
146     virtual void SetOnInterceptKeyEventCallback(std::function<bool(KeyEventInfo& keyEventInfo)>&& keyEventInfo) = 0;
SetOnDataResubmitted(std::function<void (const std::shared_ptr<BaseEventInfo> & info)> && dataResubmittedId)147     virtual void SetOnDataResubmitted(
148         std::function<void(const std::shared_ptr<BaseEventInfo>& info)>&& dataResubmittedId) {};
SetDataResubmittedId(std::function<void (const std::shared_ptr<BaseEventInfo> & info)> && dataResubmittedId)149     virtual void SetDataResubmittedId(
150         std::function<void(const std::shared_ptr<BaseEventInfo>& info)>&& dataResubmittedId) {};
SetFaviconReceivedId(std::function<void (const std::shared_ptr<BaseEventInfo> & info)> && faviconReceivedId)151     virtual void SetFaviconReceivedId(
152         std::function<void(const std::shared_ptr<BaseEventInfo>& info)>&& faviconReceivedId) {};
SetTouchIconUrlId(std::function<void (const std::shared_ptr<BaseEventInfo> & info)> && touchIconUrlId)153     virtual void SetTouchIconUrlId(std::function<void(const std::shared_ptr<BaseEventInfo>& info)>&& touchIconUrlId) {};
154 
SetDarkMode(WebDarkMode mode)155     virtual void SetDarkMode(WebDarkMode mode) {};
SetForceDarkAccess(bool access)156     virtual void SetForceDarkAccess(bool access) {};
SetHorizontalScrollBarAccessEnabled(bool isHorizontalScrollBarAccessEnabled)157     virtual void SetHorizontalScrollBarAccessEnabled(bool isHorizontalScrollBarAccessEnabled) {};
SetVerticalScrollBarAccessEnabled(bool isVerticalScrollBarAccessEnabled)158     virtual void SetVerticalScrollBarAccessEnabled(bool isVerticalScrollBarAccessEnabled) {};
159 
SetOnControllerAttached(std::function<void ()> && callback)160     virtual void SetOnControllerAttached(std::function<void()>&& callback) {};
NotifyPopupWindowResult(int32_t webId,bool result)161     virtual void NotifyPopupWindowResult(int32_t webId, bool result) {};
SetAudioResumeInterval(int32_t resumeInterval)162     virtual void SetAudioResumeInterval(int32_t resumeInterval) {};
SetAudioSessionType(WebAudioSessionType audioSessionType)163     virtual void SetAudioSessionType(WebAudioSessionType audioSessionType) {};
SetAudioExclusive(bool audioExclusive)164     virtual void SetAudioExclusive(bool audioExclusive) {};
165     virtual void SetOverScrollId(std::function<void(const BaseEventInfo* info)>&& jsCallback) = 0;
166     virtual void SetNativeEmbedModeEnabled(bool isEmbedModeEnabled) = 0;
167     virtual void SetIntrinsicSizeEnabled(bool isIntrinsicSizeEnabled) = 0;
168     virtual void SetCssDisplayChangeEnabled(bool isCssDisplayChangeEnabled) = 0;
169     virtual void RegisterNativeEmbedRule(const std::string&, const std::string&) = 0;
170     virtual void SetNativeEmbedLifecycleChangeId(std::function<void(const BaseEventInfo* info)>&& jsCallback) = 0;
171     virtual void SetNativeEmbedVisibilityChangeId(std::function<void(const BaseEventInfo* info)>&& jsCallback) = 0;
172     virtual void SetNativeEmbedGestureEventId(std::function<void(const BaseEventInfo* info)>&& jsCallback) = 0;
173     virtual void SetNativeEmbedMouseEventId(std::function<void(const BaseEventInfo* info)>&& jsCallback) = 0;
SetScreenCaptureRequestEventId(std::function<void (const BaseEventInfo * info)> && jsCallback)174     virtual void SetScreenCaptureRequestEventId(std::function<void(const BaseEventInfo* info)>&& jsCallback) {};
SetNestedScroll(const NestedScrollOptions & nestedOpt)175     virtual void SetNestedScroll(const NestedScrollOptions& nestedOpt) {}
SetNestedScrollExt(const NestedScrollOptionsExt & nestedOpt)176     virtual void SetNestedScrollExt(const NestedScrollOptionsExt& nestedOpt) {}
SetMetaViewport(bool enabled)177     virtual void SetMetaViewport(bool enabled) {}
SetLayoutMode(WebLayoutMode mode)178     virtual void SetLayoutMode(WebLayoutMode mode) {}
SetBlurOnKeyboardHideMode(BlurOnKeyboardHideMode mode)179     virtual void SetBlurOnKeyboardHideMode(BlurOnKeyboardHideMode mode) {}
JavaScriptOnDocumentStart(const ScriptItems & scriptItems)180     virtual void JavaScriptOnDocumentStart(const ScriptItems& scriptItems) {};
JavaScriptOnDocumentStartByOrder(const ScriptItems & scriptItems,const ScriptItemsByOrder & scriptItemsByOrder)181     virtual void JavaScriptOnDocumentStartByOrder(const ScriptItems& scriptItems,
182         const ScriptItemsByOrder& scriptItemsByOrder) {};
JavaScriptOnDocumentEndByOrder(const ScriptItems & scriptItems,const ScriptItemsByOrder & scriptItemsByOrder)183     virtual void JavaScriptOnDocumentEndByOrder(const ScriptItems& scriptItems,
184         const ScriptItemsByOrder& scriptItemsByOrder) {};
JavaScriptOnHeadReadyByOrder(const ScriptItems & scriptItems,const ScriptItemsByOrder & scriptItemsByOrder)185     virtual void JavaScriptOnHeadReadyByOrder(const ScriptItems& scriptItems,
186         const ScriptItemsByOrder& scriptItemsByOrder) {};
JavaScriptOnDocumentEnd(const ScriptItems & scriptItems)187     virtual void JavaScriptOnDocumentEnd(const ScriptItems& scriptItems) {};
SetOverScrollMode(OverScrollMode mode)188     virtual void SetOverScrollMode(OverScrollMode mode) {}
SetCopyOptionMode(CopyOptions mode)189     virtual void SetCopyOptionMode(CopyOptions mode) {};
190 
SetDefaultFileSelectorShow(std::function<void (const std::shared_ptr<BaseEventInfo> &)> && jsCallback)191     virtual void SetDefaultFileSelectorShow(std::function<void(const std::shared_ptr<BaseEventInfo>&)>&& jsCallback) {};
SetPermissionClipboard(std::function<void (const std::shared_ptr<BaseEventInfo> &)> && jsCallback)192     virtual void SetPermissionClipboard(std::function<void(const std::shared_ptr<BaseEventInfo>&)>&& jsCallback) {};
SetOpenAppLinkFunction(std::function<void (const std::shared_ptr<BaseEventInfo> &)> && jsCallback)193     virtual void SetOpenAppLinkFunction(std::function<void(const std::shared_ptr<BaseEventInfo>&)>&& jsCallback) {};
SetWebDetachFunction(std::function<void (int32_t)> && jsCallback)194     virtual void SetWebDetachFunction(std::function<void(int32_t)>&& jsCallback) {};
SetFaviconFunction(std::function<void (const std::shared_ptr<BaseEventInfo> &)> && jsCallback)195     virtual void SetFaviconFunction(std::function<void(const std::shared_ptr<BaseEventInfo>&)>&& jsCallback) {};
SetIntelligentTrackingPreventionResultId(std::function<void (const std::shared_ptr<BaseEventInfo> & info)> && intelligentTrackingPreventionResultId)196     virtual void SetIntelligentTrackingPreventionResultId(
197         std::function<void(const std::shared_ptr<BaseEventInfo>& info)>&&
198             intelligentTrackingPreventionResultId) {};
199     virtual void SetOnOverrideUrlLoading(std::function<bool(const BaseEventInfo* info)>&& jsCallback) = 0;
SetTextAutosizing(bool isTextAutosizing)200     virtual void SetTextAutosizing(bool isTextAutosizing) {};
201     virtual void SetNativeVideoPlayerConfig(bool enable, bool shouldOverlay) = 0;
202     virtual void SetRenderProcessNotRespondingId(std::function<void(const BaseEventInfo* info)> && jsCallback) = 0;
203     virtual void SetRenderProcessRespondingId(std::function<void(const BaseEventInfo* info)> && jsCallback) = 0;
204     virtual void SetViewportFitChangedId(std::function<void(const BaseEventInfo* info)> && jsCallback) = 0;
SetSelectionMenuOptions(const WebMenuOptionsParam & webMenuOption)205     virtual void SetSelectionMenuOptions(const WebMenuOptionsParam& webMenuOption) {};
SetOnInterceptKeyboardAttach(std::function<WebKeyboardOption (const BaseEventInfo * info)> && jsCallback)206     virtual void SetOnInterceptKeyboardAttach(
207         std::function<WebKeyboardOption(const BaseEventInfo* info)>&& jsCallback) {}
208 
209     virtual void SetUpdateInstanceIdCallback(std::function<void(int32_t)> &&callback) = 0;
210     virtual void SetAdsBlockedEventId(std::function<void(const BaseEventInfo* info)> && jsCallback) = 0;
SetOverlayScrollbarEnabled(bool isEnabled)211     virtual void SetOverlayScrollbarEnabled(bool isEnabled) {};
SetKeyboardAvoidMode(const WebKeyboardAvoidMode & mode)212     virtual void SetKeyboardAvoidMode(const WebKeyboardAvoidMode& mode) {}
213     virtual void SetEditMenuOptions(const NG::OnCreateMenuCallback&& onCreateMenuCallback,
214                                     const NG::OnMenuItemClickCallback&& onMenuItemClick,
215                                     const NG::OnPrepareMenuCallback&& onPrepareMenuCallback = nullptr) {};
SetEnabledHapticFeedback(bool isEnabled)216     virtual void SetEnabledHapticFeedback(bool isEnabled) {}
217     virtual void SetOptimizeParserBudgetEnabled(bool enable) = 0;
SetEnableFollowSystemFontWeight(bool enableFollowSystemFontWeight)218     virtual void SetEnableFollowSystemFontWeight(bool enableFollowSystemFontWeight) {};
SetWebMediaAVSessionEnabled(bool isEnabled)219     virtual void SetWebMediaAVSessionEnabled(bool isEnabled) {};
220     virtual void SetOnLoadStarted(std::function<void(const BaseEventInfo* info)>&& jsCallback) = 0;
221     virtual void SetOnLoadFinished(std::function<void(const BaseEventInfo* info)>&& jsCallback) = 0;
SetEnableDataDetector(bool isEnabled)222     virtual void SetEnableDataDetector(bool isEnabled) {};
SetDataDetectorConfig(const TextDetectConfig & config)223     virtual void SetDataDetectorConfig(const TextDetectConfig& config) {};
SetBypassVsyncCondition(WebBypassVsyncCondition condition)224     virtual void SetBypassVsyncCondition(WebBypassVsyncCondition condition) {}
SetDefaultBackgroundColor()225     virtual void SetDefaultBackgroundColor() {};
SetGestureFocusMode(GestureFocusMode mode)226     virtual void SetGestureFocusMode(GestureFocusMode mode) {}
SetOnPdfScrollAtBottom(std::function<void (const BaseEventInfo * info)> && jsCallback)227     virtual void SetOnPdfScrollAtBottom(std::function<void(const BaseEventInfo* info)>&& jsCallback) {}
SetOnPdfLoadEvent(std::function<void (const BaseEventInfo * info)> && jsCallback)228     virtual void SetOnPdfLoadEvent(std::function<void(const BaseEventInfo* info)>&& jsCallback) {}
229 private:
230     static std::unique_ptr<WebModel> instance_;
231     static std::mutex mutex_;
232 };
233 } // namespace OHOS::Ace
234 
235 #endif // FOUNDATION_ACE_FRAMEWORKS_CORE_COMPONENTS_NG_PATTERNS_WEB_WEB_MODEL_H
236