From 5e35ba40eaf00e897fa554d35ee17e8489a402a3 Mon Sep 17 00:00:00 2001 From: ming-yue-liu1 Date: Tue, 26 Aug 2025 11:20:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9Eextension=E7=B1=BB=E5=9E=8Bwe?= =?UTF-8?q?bNativeMessaging?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: ming-yue-liu1 --- .../appexecfwk_base/include/extension_ability_info.h | 1 + .../inner_api/appexecfwk_base/src/extension_ability_info.cpp | 1 + .../ani/bundle_manager/ets/@ohos.bundle.bundleManager.ets | 1 + interfaces/kits/ani/common/enum_util.h | 4 +++- interfaces/kits/js/bundle_manager/bundle_manager.cpp | 5 +++++ .../bms_client_system_test/bundle_mgr_client_system_test.cpp | 4 ++++ 6 files changed, 15 insertions(+), 1 deletion(-) diff --git a/interfaces/inner_api/appexecfwk_base/include/extension_ability_info.h b/interfaces/inner_api/appexecfwk_base/include/extension_ability_info.h index 35e30b0f45..21cbddabc9 100644 --- a/interfaces/inner_api/appexecfwk_base/include/extension_ability_info.h +++ b/interfaces/inner_api/appexecfwk_base/include/extension_ability_info.h @@ -80,6 +80,7 @@ enum class ExtensionAbilityType { APP_SERVICE = 29, LIVE_FORM = 30, SELECTION = 31, + WEB_NATIVE_MESSAGING = 32, UNSPECIFIED = 255, UI = 256, HMS_ACCOUNT = 257, diff --git a/interfaces/inner_api/appexecfwk_base/src/extension_ability_info.cpp b/interfaces/inner_api/appexecfwk_base/src/extension_ability_info.cpp index 078706f1fc..5d76452190 100644 --- a/interfaces/inner_api/appexecfwk_base/src/extension_ability_info.cpp +++ b/interfaces/inner_api/appexecfwk_base/src/extension_ability_info.cpp @@ -101,6 +101,7 @@ const std::unordered_map EXTENSION_TYPE_MAP = { "assetAcceleration", ExtensionAbilityType::ASSET_ACCELERATION }, { "formEdit", ExtensionAbilityType::FORM_EDIT }, { "liveForm", ExtensionAbilityType::LIVE_FORM }, + { "webNativeMessaging", ExtensionAbilityType::WEB_NATIVE_MESSAGING }, { "awc/webpage", ExtensionAbilityType::AWC_WEBPAGE }, { "awc/newsfeed", ExtensionAbilityType::AWC_NEWSFEED } }; diff --git a/interfaces/kits/ani/bundle_manager/ets/@ohos.bundle.bundleManager.ets b/interfaces/kits/ani/bundle_manager/ets/@ohos.bundle.bundleManager.ets index 3ab437f88b..3ff0750dd8 100644 --- a/interfaces/kits/ani/bundle_manager/ets/@ohos.bundle.bundleManager.ets +++ b/interfaces/kits/ani/bundle_manager/ets/@ohos.bundle.bundleManager.ets @@ -112,6 +112,7 @@ namespace bundleManager { DISTRIBUTED = 28, APP_SERVICE = 29, LIVE_FORM = 30, + WEB_NATIVE_MESSAGING = 32, UNSPECIFIED = 255 } diff --git a/interfaces/kits/ani/common/enum_util.h b/interfaces/kits/ani/common/enum_util.h index 2f7021b86f..b3ebdefc58 100644 --- a/interfaces/kits/ani/common/enum_util.h +++ b/interfaces/kits/ani/common/enum_util.h @@ -170,9 +170,10 @@ private: DISTRIBUTED = 28, APP_SERVICE = 29, LIVE_FORM = 30, + WEB_NATIVE_MESSAGING = 32, UNSPECIFIED = 255 } */ - static constexpr std::array Array_BundleManager_ExtensionAbilityType = { + static constexpr std::array Array_BundleManager_ExtensionAbilityType = { 0, 1, 2, @@ -202,6 +203,7 @@ private: 28, 29, 30, + 32, 255, }; /* bundleManager.ApplicationFlag diff --git a/interfaces/kits/js/bundle_manager/bundle_manager.cpp b/interfaces/kits/js/bundle_manager/bundle_manager.cpp index e8953ef86e..f78c8560f6 100644 --- a/interfaces/kits/js/bundle_manager/bundle_manager.cpp +++ b/interfaces/kits/js/bundle_manager/bundle_manager.cpp @@ -3354,6 +3354,11 @@ void CreateExtensionAbilityTypeObject(napi_env env, napi_value value) NAPI_CALL_RETURN_VOID(env, napi_create_int32(env, static_cast(ExtensionAbilityType::LIVE_FORM), &nLiveForm)); NAPI_CALL_RETURN_VOID(env, napi_set_named_property(env, value, "LIVE_FORM", nLiveForm)); + + napi_value nWebNativeMessaging; + NAPI_CALL_RETURN_VOID(env, napi_create_int32(env, + static_cast(ExtensionAbilityType::WEB_NATIVE_MESSAGING), &nWebNativeMessaging)); + NAPI_CALL_RETURN_VOID(env, napi_set_named_property(env, value, "WEB_NATIVE_MESSAGING", nWebNativeMessaging)); } void CreateApplicationFlagObject(napi_env env, napi_value value) diff --git a/test/systemtest/common/bms/bms_client_system_test/bundle_mgr_client_system_test.cpp b/test/systemtest/common/bms/bms_client_system_test/bundle_mgr_client_system_test.cpp index b6b7087666..8278b80b55 100644 --- a/test/systemtest/common/bms/bms_client_system_test/bundle_mgr_client_system_test.cpp +++ b/test/systemtest/common/bms/bms_client_system_test/bundle_mgr_client_system_test.cpp @@ -1807,6 +1807,10 @@ HWTEST_F(BundleMgrClientSystemTest, QueryExtensionAbilityInfosV9_0001, TestSize. EXPECT_EQ(ret, ERR_OK); EXPECT_EQ(1, infos.size()); + ErrCode ret1 = GetBundleMgrProxy()->QueryExtensionAbilityInfosV9(want, ExtensionAbilityType::WEB_NATIVE_MESSAGING, + ExtensionAbilityInfoFlag::GET_EXTENSION_INFO_DEFAULT, DEFAULT_USERID, infos); + EXPECT_EQ(ret1, ERR_BUNDLE_MANAGER_ABILITY_NOT_EXIST); + std::string uninstallMsg; UninstallBundle(BUNDLE_NAME, uninstallMsg); EXPECT_EQ(uninstallMsg, "Success") << "uninstall fail!" << bundleFilePath; -- Gitee