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 35e30b0f4557a72ff9905966bbe5312fa117832f..21cbddabc9589cf6c00b0885c4481f4f92d8d938 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 078706f1fca44f59b65c7170871c26c7bb1c9d26..5d764521903e4f0bec948f2bcb14ac9853e510a5 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 3ab437f88b026b24c953b43c0bc871f64f4b55ef..3ff0750dd806007b1e501af4825ad9d28d1231ea 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 2f7021b86f3140f88f15756c4ca7caec330900c7..b3ebdefc5833d932946eeea1a231a08b367a8070 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 e8953ef86e7b102cc00ed4e1ba816b2c853262ae..f78c8560f60684252539f9f883a60c727e15e925 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 b6b70876668b6a0db1ae58bb65ad4f63766bcc90..8278b80b55c9e5ca0314c7b708b2012529221964 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;