diff --git a/interfaces/kits/napi/accessibility_extension_module_loader/src/napi_accessibility_extension.cpp b/interfaces/kits/napi/accessibility_extension_module_loader/src/napi_accessibility_extension.cpp index f2d8d0a1d..b5e752561 100644 --- a/interfaces/kits/napi/accessibility_extension_module_loader/src/napi_accessibility_extension.cpp +++ b/interfaces/kits/napi/accessibility_extension_module_loader/src/napi_accessibility_extension.cpp @@ -52,6 +52,13 @@ NAccessibilityExtension::NAccessibilityExtension(AbilityRuntime::JsRuntime& jsRu NAccessibilityExtension::~NAccessibilityExtension() = default; +napi_handle_scope OpenScope(napi_env env) +{ + napi_handle_scope scope = nullptr; + NAPI_CALL(env, napi_open_handle_scope(env, &scope)); + return scope; +} + void NAccessibilityExtension::Init(const std::shared_ptr &record, const std::shared_ptr &application, std::shared_ptr &handler, const sptr &token) @@ -275,10 +282,8 @@ void ConvertAccessibilityElementToJS(napi_env env, napi_value objEventInfo, HILOG_ERROR("Failed to create AccessibilityElement."); return; } - napi_handle_scope scope = nullptr; - NAPI_CALL(env, napi_open_handle_scope(env, &scope)); auto closeScope = [env](napi_handle_scope scope) { napi_close_handle_scope(env, scope); }; - std::unique_ptr scopes(scope, closeScope); + std::unique_ptr scopes(OpenScope(env), closeScope); napi_value nTargetObject = nullptr; napi_value constructor = nullptr; napi_get_reference_value(env, NAccessibilityElement::consRef_, &constructor); @@ -333,12 +338,10 @@ void NAccessibilityExtension::OnAccessibilityEvent(const AccessibilityEventInfo& [](uv_work_t *work) {}, [](uv_work_t *work, int status) { AccessibilityEventInfoCallbackInfo *data = static_cast(work->data); - napi_handle_scope scope = nullptr; - NAPI_CALL(reinterpret_cast(data->engine_), - napi_open_handle_scope(reinterpret_cast(data->engine_), &scope)); - auto closeScope = [&(data->engine_)](napi_handle_scope scope) { + auto closeScope = [data](napi_handle_scope scope) { napi_close_handle_scope(reinterpret_cast(data->engine_), scope); }; - std::unique_ptr scopes(scope, closeScope); + std::unique_ptr scopes( + OpenScope(reinterpret_cast(data->engine_)), closeScope); napi_value napiEventInfo = nullptr; napi_create_object(reinterpret_cast(data->engine_), &napiEventInfo); @@ -403,12 +406,10 @@ bool NAccessibilityExtension::OnKeyPressEvent(const std::shared_ptr(work->data); - napi_handle_scope scope = nullptr; - NAPI_CALL(reinterpret_cast(data->engine_), - napi_open_handle_scope(reinterpret_cast(data->engine_), &scope)); - auto closeScope = [&(data->engine_)](napi_handle_scope scope) { + auto closeScope = [data](napi_handle_scope scope) { napi_close_handle_scope(reinterpret_cast(data->engine_), scope); }; - std::unique_ptr scopes(scope, closeScope); + std::unique_ptr scopes( + OpenScope(reinterpret_cast(data->engine_)), closeScope); napi_value napiEventInfo = nullptr; if (napi_create_object(reinterpret_cast(data->engine_), &napiEventInfo) != napi_ok) { HILOG_ERROR("Create keyEvent object failed.");