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 #ifndef FOUNDATION_ACE_FRAMEWORKS_CORE_COMPONENTS_NG_PATTERN_WEB_WEB_MODEL_NG_H 16 #define FOUNDATION_ACE_FRAMEWORKS_CORE_COMPONENTS_NG_PATTERN_WEB_WEB_MODEL_NG_H 17 18 #include "core/components_ng/base/view_abstract.h" 19 #include "core/components_ng/base/view_stack_processor.h" 20 #include "core/components_ng/pattern/web/web_model.h" 21 22 namespace OHOS::Ace::NG { 23 using OnWebSyncFunc = std::function<bool(const std::shared_ptr<BaseEventInfo>& info)>; 24 using OnWebAsyncFunc = std::function<void(const std::shared_ptr<BaseEventInfo>& info)>; 25 using SetWebIdCallback = std::function<void(int32_t)>; 26 using SetHapPathCallback = std::function<void(const std::string&)>; 27 using JsProxyCallback = std::function<void()>; 28 using setPermissionClipboardCallback = std::function<void(const std::shared_ptr<BaseEventInfo>&)>; 29 30 // enum type used for decoupe NWeb dependency, same as NWeb::ImageColorType 31 enum class TransImageColorType { 32 // Unknown color type 33 COLOR_TYPE_UNKNOWN = -1, 34 35 // RGBA with 8 bits per pixel (32 bits total). 36 COLOR_TYPE_RGBA_8888 = 0, 37 38 // RGRA with 8 bits per pixel (32 bits total). 39 COLOR_TYPE_BGRA_8888 = 1, 40 }; 41 42 // enum type used for decoupe NWeb dependency, same as NWeb::ImageAlphaType 43 enum class TransImageAlphaType { 44 // Unknown alpha type 45 ALPHA_TYPE_UNKNOWN = -1, 46 47 // No transparency. The alpha component is ignored. 48 ALPHA_TYPE_OPAQUE = 0, 49 50 // Transparency with pre-multiplied alpha component. 51 ALPHA_TYPE_PREMULTIPLIED = 1, 52 53 // Transparency with post-multiplied alpha component. 54 ALPHA_TYPE_POSTMULTIPLIED = 2, 55 }; 56 57 class ACE_EXPORT WebModelNG : public OHOS::Ace::WebModel { 58 public: 59 void Create(const std::string& src, const RefPtr<WebController>& webController, 60 RenderMode renderMode = RenderMode::ASYNC_RENDER, bool incognitoMode = false, 61 const std::string& sharedRenderProcessToken = "") override; 62 void Create(const std::string& src, std::function<void(int32_t)>&& setWebIdCallback, 63 std::function<void(const std::string&)>&& setHapPathCallback, int32_t parentWebId, bool popup, 64 RenderMode renderMode = RenderMode::ASYNC_RENDER, bool incognitoMode = false, 65 const std::string& sharedRenderProcessToken = "") override; 66 Color GetDefaultBackgroundColor() override; 67 void SetCustomScheme(const std::string& cmdLine) override; 68 void SetOnCommonDialog(std::function<bool(const BaseEventInfo* info)>&& jsCallback, int dialogEventType) override; 69 void SetOnConsoleLog(std::function<bool(const BaseEventInfo* info)>&& jsCallback) override; 70 void SetOnPageStart(std::function<void(const BaseEventInfo* info)>&& jsCallback) override; 71 void SetOnPageFinish(std::function<void(const BaseEventInfo* info)>&& jsCallback) override; 72 void SetOnProgressChange(std::function<void(const BaseEventInfo* info)>&& jsCallback) override; 73 void SetOnTitleReceive(std::function<void(const BaseEventInfo* info)>&& jsCallback) override; 74 void SetOnFullScreenExit(std::function<void(const BaseEventInfo* info)>&& jsCallback) override; 75 void SetOnFullScreenEnter(std::function<void(const BaseEventInfo* info)>&& jsCallback) override; 76 void SetOnGeolocationHide(std::function<void(const BaseEventInfo* info)>&& jsCallback) override; 77 void SetOnGeolocationShow(std::function<void(const BaseEventInfo* info)>&& jsCallback) override; 78 void SetOnRequestFocus(std::function<void(const BaseEventInfo* info)>&& jsCallback) override; 79 void SetOnDownloadStart(std::function<void(const BaseEventInfo* info)>&& jsCallback) override; 80 void SetOnHttpAuthRequest(std::function<bool(const BaseEventInfo* info)>&& jsCallback) override; 81 void SetOnSslErrorRequest(std::function<bool(const BaseEventInfo* info)>&& jsCallback) override; 82 void SetOnAllSslErrorRequest(std::function<bool(const BaseEventInfo* info)>&& jsCallback) override; 83 void SetOnSslSelectCertRequest(std::function<bool(const BaseEventInfo* info)>&& jsCallback) override; 84 void SetMediaPlayGestureAccess(bool isNeedGestureAccess) override; 85 void SetOnKeyEvent(std::function<void(KeyEventInfo& keyEventInfo)>&& jsCallback) override; 86 void SetOnErrorReceive(std::function<void(const BaseEventInfo* info)>&& jsCallback) override; 87 void SetOnHttpErrorReceive(std::function<void(const BaseEventInfo* info)>&& jsCallback) override; 88 void SetOnInterceptRequest(std::function<RefPtr<WebResponse>(const BaseEventInfo* info)>&& jsCallback) override; 89 void SetOnOverrideErrorPage(std::function<std::string(const BaseEventInfo* info)>&& jsCallback) override; 90 void SetOnUrlLoadIntercept(std::function<bool(const BaseEventInfo* info)>&& jsCallback) override; 91 void SetOnLoadIntercept(std::function<bool(const BaseEventInfo* info)>&& jsCallback) override; 92 void SetOnOverrideUrlLoading(std::function<bool(const BaseEventInfo* info)>&& jsCallback) override; 93 void SetOnFileSelectorShow(std::function<bool(const BaseEventInfo* info)>&& jsCallback) override; 94 void SetOnContextMenuShow(std::function<bool(const BaseEventInfo* info)>&& jsCallback) override; 95 void SetOnContextMenuHide(std::function<void(const BaseEventInfo* info)>&& jsCallback) override; 96 void SetNewDragStyle(bool isNewDragStyle) override; 97 void SetPreviewSelectionMenu(const std::shared_ptr<WebPreviewSelectionMenuParam>& param) override; 98 void SetJsEnabled(bool isJsEnabled) override; 99 void SetFileAccessEnabled(bool isFileAccessEnabled) override; 100 void SetOnLineImageAccessEnabled(bool isOnLineImageAccessEnabled) override; 101 void SetDomStorageAccessEnabled(bool isDomStorageAccessEnabled) override; 102 void SetImageAccessEnabled(bool isImageAccessEnabled) override; 103 void SetMixedMode(MixedModeContent mixedMode) override; 104 void SetZoomAccessEnabled(bool isZoomAccessEnabled) override; 105 void SetGeolocationAccessEnabled(bool isGeolocationAccessEnabled) override; 106 void SetJsProxyCallback(std::function<void()>&& jsProxyCallback) override; 107 void SetUserAgent(const std::string& userAgent) override; 108 void SetRenderExitedId(std::function<void(const BaseEventInfo* info)>&& jsCallback) override; 109 void SetRefreshAccessedHistoryId(std::function<void(const BaseEventInfo* info)>&& jsCallback) override; 110 void SetCacheMode(WebCacheMode cacheMode) override; 111 void SetOverScrollMode(OverScrollMode mode) override; 112 void SetBlurOnKeyboardHideMode(BlurOnKeyboardHideMode mode) override; 113 void SetCopyOptionMode(CopyOptions mode) override; 114 void SetOverviewModeAccessEnabled(bool isOverviewModeAccessEnabled) override; 115 void SetFileFromUrlAccessEnabled(bool isFileFromUrlAccessEnabled) override; 116 void SetDatabaseAccessEnabled(bool isDatabaseAccessEnabled) override; 117 void SetTextZoomRatio(int32_t textZoomRatioNum) override; 118 void SetOnMouseEvent(std::function<void(MouseInfo& info)>&& jsCallback) override; 119 void SetResourceLoadId(std::function<void(const BaseEventInfo* info)>&& jsCallback) override; 120 void SetScaleChangeId(std::function<void(const BaseEventInfo* info)>&& jsCallback) override; 121 void SetScrollId(std::function<void(const BaseEventInfo* info)>&& jsCallback) override; 122 void SetPermissionRequestEventId(std::function<void(const BaseEventInfo* info)>&& jsCallback) override; 123 void SetScreenCaptureRequestEventId(std::function<void(const BaseEventInfo* info)>&& jsCallback) override; 124 void SetBackgroundColor(Color backgroundColor) override; 125 void SetDefaultBackgroundColor() override; 126 void InitialScale(float scale) override; 127 void SetSearchResultReceiveEventId(std::function<void(const BaseEventInfo* info)>&& jsCallback) override; 128 void SetWebDebuggingAccessEnabled(bool isWebDebuggingAccessEnabled) override; 129 void SetWebDebuggingAccessEnabledAndPort( 130 bool isWebDebuggingAccessEnabled, int32_t webDebuggingPort) override; 131 132 void SetOnDragStart( 133 std::function<NG::DragDropBaseInfo(const RefPtr<OHOS::Ace::DragEvent>& info, const std::string& extraParams)>&& 134 onDragStart) override; 135 void SetOnDragEnter( 136 std::function<void(const RefPtr<OHOS::Ace::DragEvent>&, const std::string&)>&& onDragEnter) override; 137 void SetOnDragMove( 138 std::function<void(const RefPtr<OHOS::Ace::DragEvent>& info, const std::string& extraParams)>&& onDragMoveId) 139 override; 140 void SetOnDragLeave( 141 std::function<void(const RefPtr<OHOS::Ace::DragEvent>&, const std::string&)>&& onDragLeave) override; 142 void SetOnDrop(std::function<void(const RefPtr<OHOS::Ace::DragEvent>&, const std::string&)>&& onDropId) override; 143 void SetPinchSmoothModeEnabled(bool isPinchSmoothModeEnabled) override; 144 void SetWindowNewEvent(std::function<void(const std::shared_ptr<BaseEventInfo>& info)>&& jsCallback) override; 145 void SetActivateContentEventId(std::function<void(const BaseEventInfo* info)>&& jsCallback) override; 146 void SetWindowExitEventId(std::function<void(const BaseEventInfo* info)>&& jsCallback) override; 147 148 void SetMultiWindowAccessEnabled(bool isMultiWindowAccessEnable) override; 149 void SetAllowWindowOpenMethod(bool isAllowWindowOpenMethod) override; 150 void SetWebCursiveFont(const std::string& cursiveFontFamily) override; 151 void SetWebFantasyFont(const std::string& fixedFontFamily) override; 152 void SetWebFixedFont(const std::string& fixedFontFamily) override; 153 void SetWebSansSerifFont(const std::string& sansSerifFontFamily) override; 154 void SetWebSerifFont(const std::string& serifFontFamily) override; 155 void SetWebStandardFont(const std::string& standardFontFamily) override; 156 void SetDefaultFixedFontSize(int32_t defaultFixedFontSize) override; 157 void SetDefaultFontSize(int32_t defaultFontSize) override; 158 void SetDefaultTextEncodingFormat(const std::string& textEncodingFormat) override; 159 void SetMinFontSize(int32_t minFontSize) override; 160 void SetMinLogicalFontSize(int32_t minLogicalFontSize) override; 161 void SetBlockNetwork(bool isNetworkBlocked) override; 162 163 void SetPageVisibleId(std::function<void(const std::shared_ptr<BaseEventInfo>& info)>&& pageVisibleId) override; 164 void SetOnInterceptKeyEventCallback(std::function<bool(KeyEventInfo& keyEventInfo)>&& keyEventInfo) override; 165 void SetDataResubmittedId( 166 std::function<void(const std::shared_ptr<BaseEventInfo>& info)>&& dataResubmittedId) override; 167 void SetOnDataResubmitted( 168 std::function<void(const std::shared_ptr<BaseEventInfo>& info)>&& dataResubmittedId) override; 169 void SetFaviconReceivedId( 170 std::function<void(const std::shared_ptr<BaseEventInfo>& info)>&& faviconReceivedId) override; 171 void SetAudioStateChangedId( 172 std::function<void(const std::shared_ptr<BaseEventInfo>& info)>&& audioStateChanged) override; 173 void SetFirstContentfulPaintId( 174 std::function<void(const std::shared_ptr<BaseEventInfo>& info)>&& firstContentfulPaintId) override; 175 void SetFirstMeaningfulPaintId( 176 std::function<void(const std::shared_ptr<BaseEventInfo>& info)>&& firstMeaningfulPaintId) override; 177 void SetLargestContentfulPaintId( 178 std::function<void(const std::shared_ptr<BaseEventInfo>& info)>&& largestContentfulPaintId) override; 179 void SetSafeBrowsingCheckResultId( 180 std::function<void(const std::shared_ptr<BaseEventInfo>& info)>&& safeBrowsingCheckResultId) override; 181 void SetNavigationEntryCommittedId( 182 std::function<void(const std::shared_ptr<BaseEventInfo>& info)>&& navigationEntryCommittedId) override; 183 void SetTouchIconUrlId(std::function<void(const std::shared_ptr<BaseEventInfo>& info)>&& touchIconUrlId) override; 184 185 void SetDarkMode(WebDarkMode mode) override; 186 void SetForceDarkAccess(bool access) override; 187 void SetHorizontalScrollBarAccessEnabled(bool isHorizontalScrollBarAccessEnabled) override; 188 void SetVerticalScrollBarAccessEnabled(bool isVerticalScrollBarAccessEnabled) override; 189 190 void SetOnControllerAttached(std::function<void()>&& callback) override; 191 void NotifyPopupWindowResult(int32_t webId, bool result) override; 192 void SetAudioResumeInterval(int32_t resumeInterval) override; 193 void SetAudioExclusive(bool audioExclusive) override; 194 void SetAudioSessionType(WebAudioSessionType audioSessionType) override; 195 void SetOverScrollId(std::function<void(const BaseEventInfo* info)>&& jsCallback) override; 196 void SetNativeEmbedModeEnabled(bool isEmbedModeEnabled) override; 197 void SetIntrinsicSizeEnabled(bool isIntrinsicSizeEnabled) override; 198 void SetCssDisplayChangeEnabled(bool isCssDisplayChangeEnabled) override; 199 void RegisterNativeEmbedRule(const std::string& tag, const std::string& type) override; 200 void SetNativeEmbedLifecycleChangeId(std::function<void(const BaseEventInfo* info)>&& jsCallback) override; 201 void SetNativeEmbedVisibilityChangeId(std::function<void(const BaseEventInfo* info)>&& jsCallback) override; 202 void SetNativeEmbedGestureEventId(std::function<void(const BaseEventInfo* info)>&& jsCallback) override; 203 void SetNativeEmbedMouseEventId(std::function<void(const BaseEventInfo* info)>&& jsCallback) override; 204 void SetLayoutMode(WebLayoutMode mode) override; 205 void SetNestedScroll(const NestedScrollOptions& nestedOpt) override; 206 void SetNestedScrollExt(const NestedScrollOptionsExt& nestedOpt) override; 207 void SetMetaViewport(bool enabled) override; 208 void JavaScriptOnDocumentStart(const ScriptItems& scriptItems) override; 209 void JavaScriptOnDocumentStartByOrder(const ScriptItems& scriptItems, 210 const ScriptItemsByOrder& scriptItemsByOrder) override; 211 void JavaScriptOnDocumentEndByOrder(const ScriptItems& scriptItems, 212 const ScriptItemsByOrder& scriptItemsByOrder) override; 213 void JavaScriptOnHeadReadyByOrder(const ScriptItems& scriptItems, 214 const ScriptItemsByOrder& scriptItemsByOrder) override; 215 void JavaScriptOnDocumentEnd(const ScriptItems& scriptItems) override; 216 void SetDefaultFileSelectorShow(std::function<void(const std::shared_ptr<BaseEventInfo>&)>&& jsCallback) override; 217 void SetPermissionClipboard(std::function<void(const std::shared_ptr<BaseEventInfo>&)>&& jsCallback) override; 218 void SetOpenAppLinkFunction(std::function<void(const std::shared_ptr<BaseEventInfo>&)>&& jsCallback) override; 219 void SetWebDetachFunction(std::function<void(int32_t)>&& jsCallback) override; 220 void SetFaviconFunction(std::function<void(const std::shared_ptr<BaseEventInfo>&)>&& jsCallback) override; 221 void SetIntelligentTrackingPreventionResultId( 222 std::function<void(const std::shared_ptr<BaseEventInfo>& info)>&& 223 intelligentTrackingPreventionResultId) override; 224 void SetTextAutosizing(bool isTextAutosizing) override; 225 void SetNativeVideoPlayerConfig(bool enable, bool shouldOverlay) override; 226 void SetRenderProcessNotRespondingId(std::function<void(const BaseEventInfo* info)>&& jsCallback) override; 227 void SetRenderProcessRespondingId(std::function<void(const BaseEventInfo* info)>&& jsCallback) override; 228 void SetViewportFitChangedId(std::function<void(const BaseEventInfo* info)>&& jsCallback) override; 229 void SetSelectionMenuOptions(const WebMenuOptionsParam& webMenuOption) override; 230 void SetAdsBlockedEventId(std::function<void(const BaseEventInfo* info)>&& jsCallback) override; 231 void SetOnInterceptKeyboardAttach( 232 std::function<WebKeyboardOption(const BaseEventInfo* info)>&& jsCallback) override; 233 void SetUpdateInstanceIdCallback(std::function<void(int32_t)>&& callback) override; 234 void SetOverlayScrollbarEnabled(bool isEnabled) override; 235 void SetKeyboardAvoidMode(const WebKeyboardAvoidMode& mode) override; 236 void SetEditMenuOptions(const NG::OnCreateMenuCallback&& onCreateMenuCallback, 237 const NG::OnMenuItemClickCallback&& onMenuItemClick, 238 const NG::OnPrepareMenuCallback&& onPrepareMenuCallback = nullptr) override; 239 void SetEnabledHapticFeedback(bool isEnabled) override; 240 void SetOptimizeParserBudgetEnabled(bool enable) override; 241 void SetEnableFollowSystemFontWeight(bool enableFollowSystemFontWeight) override; 242 void SetWebMediaAVSessionEnabled(bool isEnabled) override; 243 void SetEnableDataDetector(bool isEnabled) override; 244 void SetDataDetectorConfig(const TextDetectConfig& config) override; 245 void SetBypassVsyncCondition(WebBypassVsyncCondition condition) override; 246 void SetOnLoadStarted(std::function<void(const BaseEventInfo* info)>&& jsCallback) override; 247 void SetOnLoadFinished(std::function<void(const BaseEventInfo* info)>&& jsCallback) override; 248 void SetGestureFocusMode(GestureFocusMode mode) override; 249 void SetOnPdfScrollAtBottom(std::function<void(const BaseEventInfo* info)>&& jsCallback) override; 250 void SetOnPdfLoadEvent(std::function<void(const BaseEventInfo* info)>&& jsCallback) override; 251 252 static void SetJsEnabled(FrameNode* frameNode, bool isJsEnabled); 253 static void SetFileAccessEnabled(FrameNode* frameNode, bool isFileAccessEnabled); 254 static void SetDomStorageAccessEnabled(FrameNode* frameNode, bool isDomStorageAccessEnabled); 255 static void SetMixedMode(FrameNode* frameNode, MixedModeContent mixedMode); 256 static void SetZoomAccessEnabled(FrameNode* frameNode, bool isZoomAccessEnabled); 257 static void SetCacheMode(FrameNode* frameNode, WebCacheMode cacheMode); 258 static void SetDarkMode(FrameNode* frameNode, WebDarkMode mode); 259 static void SetMultiWindowAccessEnabled(FrameNode* frameNode, bool isMultiWindowAccessEnable); 260 static void SetAllowWindowOpenMethod(FrameNode* frameNode, bool isAllowWindowOpenMethod); 261 static void SetKeyboardAvoidMode(FrameNode* frameNode, const WebKeyboardAvoidMode& mode); 262 static void SetOnControllerAttached(FrameNode* frameNode, std::function<void()>&& callback); 263 static void SetVerticalScrollBarAccessEnabled(FrameNode* frameNode, bool isVerticalScrollBarAccessEnabled); 264 static void SetHorizontalScrollBarAccessEnabled(FrameNode* frameNode, bool isHorizontalScrollBarAccessEnabled); 265 static void SetTextZoomRatio(FrameNode* frameNode, int32_t textZoomRatioNum); 266 static void InitialScale(FrameNode* frameNode, float scale); 267 static void SetOnScroll(FrameNode* frameNode, std::function<void(const BaseEventInfo* info)>&& jsCallback); 268 static void SetOnOverScroll(FrameNode* frameNode, std::function<void(const BaseEventInfo* info)>&& jsCallback); 269 static void SetOnScaleChange(FrameNode* frameNode, std::function<void(const BaseEventInfo* info)>&& jsCallback); 270 static void SetOnRequestFocus(FrameNode* frameNode, std::function<void(const BaseEventInfo* info)>&& jsCallback); 271 static void SetOnContextMenuHide(FrameNode* frameNode, std::function<void(const BaseEventInfo* info)>&& jsCallback); 272 static void SetGeolocationAccessEnabled(FrameNode* frameNode, bool isGeolocationAccessEnabled); 273 static void SetDatabaseAccessEnabled(FrameNode* frameNode, bool isDatabaseAccessEnabled); 274 static void SetOnGeolocationShow(FrameNode* frameNode, std::function<void(const BaseEventInfo* info)>&& jsCallback); 275 static void SetOverviewModeAccessEnabled(FrameNode* frameNode, bool isOverviewModeAccessEnabled); 276 static void SetForceDarkAccess(FrameNode* frameNode, bool isForceDarkAccess); 277 static void SetPinchSmoothModeEnabled(FrameNode* frameNode, bool isPinchSmoothModeEnabled); 278 static void SetMetaViewport(FrameNode* frameNode, bool isMetaViewport); 279 static void SetEnableFollowSystemFontWeight(FrameNode* frameNode, bool isEnableFollowSystemFontWeight); 280 static void SetNativeEmbedModeEnabled(FrameNode* frameNode, bool isNativeEmbedModeEnabled); 281 static void SetMinFontSize(FrameNode* frameNode, int32_t minFontSize); 282 static void SetDefaultFontSize(FrameNode* frameNode, int32_t defaultFontSize); 283 static void SetDefaultFixedFontSize(FrameNode* frameNode, int32_t defaultFixedFontSize); 284 static void SetMinLogicalFontSize(FrameNode* frameNode, int32_t minLogicalFontSize); 285 static void SetWebStandardFont(FrameNode* frameNode, const std::string& standardFontFamily); 286 static void SetWebSerifFont(FrameNode* frameNode, const std::string& serifFontFamily); 287 static void SetWebSansSerifFont(FrameNode* frameNode, const std::string& sansSerifFontFamily); 288 289 static void SetWebFixedFont(FrameNode* frameNode, const std::string& fixedFontFamily); 290 static void SetWebFantasyFont(FrameNode* frameNode, const std::string& fixedFontFamily); 291 static void SetWebCursiveFont(FrameNode* frameNode, const std::string& cursiveFontFamily); 292 static void SetLayoutMode(FrameNode* frameNode, WebLayoutMode mode); 293 static void SetNativeEmbedLifecycleChangeId( 294 FrameNode* frameNode, std::function<void(const BaseEventInfo* info)>&& jsCallback); 295 static void SetNativeEmbedGestureEventId( 296 FrameNode* frameNode, std::function<void(const BaseEventInfo* info)>&& jsCallback); 297 static void RegisterNativeEmbedRule(FrameNode* frameNode, const std::string& tag, const std::string& type); 298 static void SetIntrinsicSizeEnabled(FrameNode* frameNode, bool isIntrinsicSizeEnabled); 299 static void SetFirstContentfulPaintId( 300 FrameNode* frameNode, std::function<void(const std::shared_ptr<BaseEventInfo>& info)>&& firstContentfulPaintId); 301 static void SetAudioStateChangedId( 302 FrameNode* frameNode, std::function<void(const std::shared_ptr<BaseEventInfo>& info)>&& audioStateChanged); 303 static void SetOnFullScreenExit(FrameNode* frameNode, std::function<void(const BaseEventInfo* info)>&& jsCallback); 304 static void SetImageAccessEnabled(FrameNode* frameNode, bool isImageAccessEnabled); 305 static void SetOnLineImageAccessEnabled(FrameNode* frameNode, bool isOnLineImageAccessEnabled); 306 static void SetMediaPlayGestureAccess(FrameNode* frameNode, bool isNeedGestureAccess); 307 static void SetAudioResumeInterval(FrameNode* frameNode, int32_t resumeInterval); 308 static void SetAudioExclusive(FrameNode* frameNode, bool audioExclusive); 309 static void SetOnPageFinish(FrameNode* frameNode, std::function<void(const BaseEventInfo* info)>&& jsCallback); 310 static void SetOnPageStart(FrameNode* frameNode, std::function<void(const BaseEventInfo* info)>&& jsCallback); 311 static void SetOnProgressChange(FrameNode* frameNode, std::function<void(const BaseEventInfo* info)>&& jsCallback); 312 static void SetOnTitleReceive(FrameNode* frameNode, std::function<void(const BaseEventInfo* info)>&& jsCallback); 313 static void SetOnDownloadStart(FrameNode* frameNode, std::function<void(const BaseEventInfo* info)>&& jsCallback); 314 static void JavaScriptOnDocumentStart(FrameNode* frameNode, const ScriptItems& scriptItems); 315 static void JavaScriptOnDocumentEnd(FrameNode* frameNode, const ScriptItems& scriptItems); 316 static void SetCopyOptionMode(FrameNode* frameNode, CopyOptions mode); 317 static void SetRenderProcessNotRespondingId( 318 FrameNode* frameNode, std::function<void(const BaseEventInfo* info)>&& jsCallback); 319 static void SetOnPageVisible( 320 FrameNode* frameNode, std::function<void(const std::shared_ptr<BaseEventInfo>& info)>&& pageVisible); 321 static void SetOnRenderExited(FrameNode* frameNode, std::function<void(const BaseEventInfo* info)>&& jsCallback); 322 static void SetBlockNetwork(FrameNode* frameNode, bool isNetworkBlocked); 323 static void SetOnResourceLoad(FrameNode* frameNode, std::function<void(const BaseEventInfo* info)>&& jsCallback); 324 static void SetOnRefreshAccessedHistory( 325 FrameNode* frameNode, std::function<void(const BaseEventInfo* info)>&& jsCallback); 326 static void SetOnNavigationEntryCommitted(FrameNode* frameNode, 327 std::function<void(const std::shared_ptr<BaseEventInfo>& info)>&& navigationEntryCommitted); 328 static void SetOnSearchResultReceive( 329 FrameNode* frameNode, std::function<void(const BaseEventInfo* info)>&& jsCallback); 330 static void SetOverScrollMode(FrameNode* frameNode, OverScrollMode mode); 331 static void SetOnTouchIconUrlReceived( 332 FrameNode* frameNode, std::function<void(const std::shared_ptr<BaseEventInfo>& info)>&& touchIconUrlId); 333 static void SetOnRenderProcessResponding( 334 FrameNode* frameNode, std::function<void(const BaseEventInfo* info)>&& jsCallback); 335 static void SetPermissionRequestEventId( 336 FrameNode* frameNode, std::function<void(const BaseEventInfo* info)>&& jsCallback); 337 static void SetScreenCaptureRequestEventId( 338 FrameNode* frameNode, std::function<void(const BaseEventInfo* info)>&& jsCallback); 339 static void SetWindowNewEvent( 340 FrameNode* frameNode, std::function<void(const std::shared_ptr<BaseEventInfo>& info)>&& jsCallback); 341 static void SetOnFullScreenEnter(FrameNode* frameNode, std::function<void(const BaseEventInfo* info)>&& jsCallback); 342 static void SetWindowExitEventId(FrameNode* frameNode, std::function<void(const BaseEventInfo* info)>&& jsCallback); 343 static void SetOnAlert( 344 FrameNode* frameNode, std::function<bool(const BaseEventInfo* info)>&& jsCallback, int dialogEventType); 345 static void SetOnConfirm( 346 FrameNode* frameNode, std::function<bool(const BaseEventInfo* info)>&& jsCallback, int dialogEventType); 347 static void SetOnPrompt( 348 FrameNode* frameNode, std::function<bool(const BaseEventInfo* info)>&& jsCallback, int dialogEventType); 349 static void SetOnShowFileSelector( 350 FrameNode* frameNode, std::function<bool(const BaseEventInfo* info)>&& jsCallback); 351 static void SetOnContextMenuShow(FrameNode* frameNode, std::function<bool(const BaseEventInfo* info)>&& jsCallback); 352 static void SetOnSafeBrowsingCheckResult(FrameNode* frameNode, 353 std::function<void(const std::shared_ptr<BaseEventInfo>& info)>&& safeBrowsingCheckResult); 354 static void SetNestedScrollExt(FrameNode* frameNode, const NestedScrollOptionsExt& nestedOpt); 355 static void SetOnInterceptKeyEvent( 356 FrameNode* frameNode, std::function<bool(KeyEventInfo& keyEventInfo)>&& keyEventInfo); 357 static void SetOnErrorReceive(FrameNode* frameNode, std::function<void(const BaseEventInfo* info)>&& jsCallback); 358 static void SetOnLoadIntercept(FrameNode* frameNode, std::function<bool(const BaseEventInfo* info)>&& jsCallback); 359 static void SetOnHttpErrorReceive( 360 FrameNode* frameNode, std::function<void(const BaseEventInfo* info)>&& jsCallback); 361 static void SetOnOverrideUrlLoading( 362 FrameNode* frameNode, std::function<bool(const BaseEventInfo* info)>&& jsCallback); 363 static void SetOnHttpAuthRequest(FrameNode* frameNode, std::function<bool(const BaseEventInfo* info)>&& jsCallback); 364 static void SetOnConsole(FrameNode* frameNode, std::function<bool(const BaseEventInfo* info)>&& jsCallback); 365 static void SetOnSslErrorEvent(FrameNode* frameNode, std::function<bool(const BaseEventInfo* info)>&& jsCallback); 366 static void SetOnDataResubmitted( 367 FrameNode* frameNode, std::function<void(const std::shared_ptr<BaseEventInfo>& info)>&& dataResubmittedId); 368 static void SetGestureFocusMode(FrameNode* frameNode, GestureFocusMode mode); 369 static void SetOnSslErrorRequest(FrameNode* frameNode, std::function<bool(const BaseEventInfo* info)>&& jsCallback); 370 static void SetOnClientAuthenticationRequest( 371 FrameNode* frameNode, std::function<bool(const BaseEventInfo* info)>&& jsCallback); 372 static void SetOnInterceptRequest( 373 FrameNode* frameNode, std::function<RefPtr<WebResponse>(const BaseEventInfo* info)>&& jsCallback); 374 static void SetFaviconReceivedId( 375 FrameNode* frameNode, std::function<void(const std::shared_ptr<BaseEventInfo>& info)>&& faviconReceivedId); 376 static void SetOnBeforeUnload( 377 FrameNode* frameNode, std::function<bool(const BaseEventInfo* info)>&& jsCallback, int dialogEventType); 378 static void SetJavaScriptProxy(FrameNode* frameNode, std::function<void()>&& jsProxyCallback); 379 }; 380 } // namespace OHOS::Ace::NG 381 #endif // FOUNDATION_ACE_FRAMEWORKS_CORE_COMPONENTS_NG_PATTERN_WEB_WEB_MODEL_NG_H 382