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