From 2ed7db7e8d3c2f840deebed5e6dd411e9c8555e7 Mon Sep 17 00:00:00 2001 From: lizeqiang Date: Sat, 30 Aug 2025 18:31:00 +0800 Subject: [PATCH] dual core api sync Signed-off-by: lizeqiang --- .../interfaces/native/libohweb.ndk.json | 8 +++ .../native/native_interface_arkweb.h | 52 +++++++++++++++++++ 2 files changed, 60 insertions(+) diff --git a/web/webview/interfaces/native/libohweb.ndk.json b/web/webview/interfaces/native/libohweb.ndk.json index c86a02925aa..1cdb08fd6a8 100644 --- a/web/webview/interfaces/native/libohweb.ndk.json +++ b/web/webview/interfaces/native/libohweb.ndk.json @@ -366,5 +366,13 @@ { "first_introduced": "20", "name": "OH_ArkWebResourceHandler_DidFailWithErrorV2" + }, + { + "first_introduced": "20", + "name": "OH_NativeArkWeb_SetActiveWebEngineVersion" + }, + { + "first_introduced": "20", + "name": "OH_NativeArkWeb_GetActiveWebEngineVersion" } ] diff --git a/web/webview/interfaces/native/native_interface_arkweb.h b/web/webview/interfaces/native/native_interface_arkweb.h index 10332371c25..122d0c50bb4 100644 --- a/web/webview/interfaces/native/native_interface_arkweb.h +++ b/web/webview/interfaces/native/native_interface_arkweb.h @@ -93,6 +93,34 @@ typedef struct { int32_t loadingTime; } ArkWeb_BlanklessInfo; +/** + * @brief ArkWeb Engine Version. + * + * ArkWeb Dual Web Engine Versioning Convention: + *

See [ArkWeb Dual Web Engine Versioning Convention] for switching between Legacy and Evergreen Web Engine. + * + * @since 20 + */ +typedef enum { + /** + * the system default ArkWeb engine. + * @since 20 + */ + SYSTEM_DEFAULT = 0, + + /** + * ArkWeb M114 version. + * @since 20 + */ + ARKWEB_M114 = 1, + + /** + * ArkWeb M132 version. + * @since 20 + */ + ARKWEB_M132 = 2, +} ArkWebEngineVersion; + /** * @brief Loads a piece of code and execute JS code in the context of the currently displayed page. * @@ -315,6 +343,30 @@ ArkWeb_ErrorCode OH_ArkWebCookieManager_SaveCookieSync(); */ void OH_ArkWebCookieManager_SaveCookieAsync(OH_ArkWeb_OnCookieSaveCallback callback); +/** + * Set active ArkWeb engine version. + * If the system does not support the specified version, it will not take effect. + * + * This is a global static API that must be called before initializeWebEngine, and it will have no effect if any + * Web components are loaded. + * + * Legacy Web Engine Compatibility Note: + *

When using legacy ArkWeb Engine, some ArkWeb newly created API will not take effect,
+ * see [Compatible with Legacy Web Engine in release note] for compatibility guidelines. + *

+ * + * @param { ArkWebEngineVersion } webEngineVersion - the ArkWebEngineVersion + * @since 20 + */ +void OH_NativeArkWeb_SetActiveWebEngineVersion(ArkWebEngineVersion webEngineVersion); + +/** + * Get currently active ArkWeb engine version. + * @return { ArkWebEngineVersion } Active ArkWeb Engine version as defined by ArkWebEngineVersion + * @since 20 + */ +ArkWebEngineVersion OH_NativeArkWeb_GetActiveWebEngineVersion(); + #ifdef __cplusplus }; #endif -- Gitee