From 501c5ed26776d14dd8cd244a979befdc18d32e90 Mon Sep 17 00:00:00 2001 From: minjiaqi1 Date: Fri, 27 Jun 2025 17:06:24 +0800 Subject: [PATCH] whz 0627 onRenderExit Signed-off-by: minjiaqi1 --- .../arkts/ArkUIGeneratedNativeModule.ts | 4 +- .../arkui-ohos/src/component/web.ts | 33 +++------------ .../src/generated/arkoala_api_generated.h | 6 +-- .../native/src/generated/bridge_generated.cc | 42 +++++++++---------- .../native/src/generated/dummy_impl.cc | 18 ++------ .../native/src/generated/real_impl.cc | 9 +--- .../interface/arkoala_api_generated.h | 6 +-- .../native/implementation/web_modifier.cpp | 12 +----- .../implementation/web_modifier_callbacks.cpp | 1 + .../capi/modifiers/web_modifier_test.cpp | 2 +- 10 files changed, 40 insertions(+), 93 deletions(-) diff --git a/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/component/arkts/ArkUIGeneratedNativeModule.ts b/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/component/arkts/ArkUIGeneratedNativeModule.ts index bcd4e376e15..5a920b15961 100644 --- a/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/component/arkts/ArkUIGeneratedNativeModule.ts +++ b/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/component/arkts/ArkUIGeneratedNativeModule.ts @@ -3402,9 +3402,7 @@ export class ArkUIGeneratedNativeModule { @ani.unsafe.Direct native static _WebAttribute_onSslErrorReceive(ptr: KPointer, thisArray: KSerializerBuffer, thisLength: int32): void @ani.unsafe.Direct - native static _WebAttribute_onRenderExited0(ptr: KPointer, thisArray: KSerializerBuffer, thisLength: int32): void - @ani.unsafe.Direct - native static _WebAttribute_onRenderExited1(ptr: KPointer, thisArray: KSerializerBuffer, thisLength: int32): void + native static _WebAttribute_onRenderExited(ptr: KPointer, thisArray: KSerializerBuffer, thisLength: int32): void @ani.unsafe.Direct native static _WebAttribute_onShowFileSelector(ptr: KPointer, thisArray: KSerializerBuffer, thisLength: int32): void @ani.unsafe.Direct diff --git a/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/component/web.ts b/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/component/web.ts index 8b491d162ee..c9f34628e21 100644 --- a/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/component/web.ts +++ b/frameworks/bridge/arkts_frontend/koala_projects/arkoala-arkts/arkui-ohos/src/component/web.ts @@ -2033,7 +2033,7 @@ export class ArkWebPeer extends ArkCommonMethodPeer { ArkUIGeneratedNativeModule._WebAttribute_onSslErrorReceive(this.peer.ptr, thisSerializer.asBuffer(), thisSerializer.length()) thisSerializer.release() } - onRenderExited0Attribute(value: ((parameter: OnRenderExitedEvent) => void) | undefined): void { + onRenderExitedAttribute(value: ((parameter: OnRenderExitedEvent) => void) | undefined): void { const thisSerializer : Serializer = Serializer.hold() let value_type : int32 = RuntimeType.UNDEFINED value_type = runtimeType(value) @@ -2042,19 +2042,7 @@ export class ArkWebPeer extends ArkCommonMethodPeer { const value_value = value! thisSerializer.holdAndWriteCallback(value_value) } - ArkUIGeneratedNativeModule._WebAttribute_onRenderExited0(this.peer.ptr, thisSerializer.asBuffer(), thisSerializer.length()) - thisSerializer.release() - } - onRenderExited1Attribute(value: ((event?: Literal_Object_detail) => boolean) | undefined): void { - const thisSerializer : Serializer = Serializer.hold() - let value_type : int32 = RuntimeType.UNDEFINED - value_type = runtimeType(value) - thisSerializer.writeInt8(value_type as int32) - if ((RuntimeType.UNDEFINED) != (value_type)) { - const value_value = value! - thisSerializer.holdAndWriteCallback(value_value) - } - ArkUIGeneratedNativeModule._WebAttribute_onRenderExited1(this.peer.ptr, thisSerializer.asBuffer(), thisSerializer.length()) + ArkUIGeneratedNativeModule._WebAttribute_onRenderExited(this.peer.ptr, thisSerializer.asBuffer(), thisSerializer.length()) thisSerializer.release() } onShowFileSelectorAttribute(value: ((parameter: OnShowFileSelectorEvent) => boolean) | undefined): void { @@ -3706,7 +3694,7 @@ export interface WebAttribute extends CommonMethod { onRefreshAccessedHistory(value: ((parameter: OnRefreshAccessedHistoryEvent) => void) | undefined): this onUrlLoadIntercept(value: ((event?: Literal_Union_String_WebResourceRequest_data) => boolean) | undefined): this onSslErrorReceive(value: ((event?: Literal_Function_handler_Object_error) => void) | undefined): this - onRenderExited(value: ((parameter: OnRenderExitedEvent) => void) | undefined | ((event?: Literal_Object_detail) => boolean) | undefined): this + onRenderExited(value: ((parameter: OnRenderExitedEvent) => void) | undefined): this onShowFileSelector(value: ((parameter: OnShowFileSelectorEvent) => boolean) | undefined): this onFileSelectorShow(value: ((event?: Literal_Function_callback__Object_fileSelector) => void) | undefined): this onResourceLoad(value: ((parameter: OnResourceLoadEvent) => void) | undefined): this @@ -4046,7 +4034,7 @@ export class ArkWebStyle extends ArkCommonMethodStyle implements WebAttribute { public onSslErrorReceive(value: ((event?: Literal_Function_handler_Object_error) => void) | undefined): this { return this } - public onRenderExited(value: ((parameter: OnRenderExitedEvent) => void) | undefined | ((event?: Literal_Object_detail) => boolean) | undefined): this { + public onRenderExited(value: ((parameter: OnRenderExitedEvent) => void) | undefined): this { return this } public onShowFileSelector(value: ((parameter: OnShowFileSelectorEvent) => boolean) | undefined): this { @@ -4682,20 +4670,11 @@ export class ArkWebComponent extends ArkCommonMethodComponent implements WebAttr } return this } - public onRenderExited(value: ((parameter: OnRenderExitedEvent) => void) | undefined | ((event?: Literal_Object_detail) => boolean) | undefined): this { + public onRenderExited(value: ((parameter: OnRenderExitedEvent) => void) | undefined): this { if (this.checkPriority("onRenderExited")) { - const value_type = runtimeType(value) - if ((RuntimeType.FUNCTION == value_type) || (RuntimeType.UNDEFINED == value_type)) { const value_casted = value as (((parameter: OnRenderExitedEvent) => void) | undefined) - this.getPeer()?.onRenderExited0Attribute(value_casted) + this.getPeer()?.onRenderExitedAttribute(value_casted) return this - } - if ((RuntimeType.FUNCTION == value_type) || (RuntimeType.UNDEFINED == value_type)) { - const value_casted = value as (((event?: Literal_Object_detail) => boolean) | undefined) - this.getPeer()?.onRenderExited1Attribute(value_casted) - return this - } - throw new Error("Can not select appropriate overload") } return this } diff --git a/frameworks/bridge/arkts_frontend/koala_projects/arkoala/framework/native/src/generated/arkoala_api_generated.h b/frameworks/bridge/arkts_frontend/koala_projects/arkoala/framework/native/src/generated/arkoala_api_generated.h index 0b8796f228a..c11a59e9998 100644 --- a/frameworks/bridge/arkts_frontend/koala_projects/arkoala/framework/native/src/generated/arkoala_api_generated.h +++ b/frameworks/bridge/arkts_frontend/koala_projects/arkoala/framework/native/src/generated/arkoala_api_generated.h @@ -23332,10 +23332,8 @@ typedef struct GENERATED_ArkUIWebModifier { const Opt_Type_WebAttribute_onUrlLoadIntercept_callback* value); void (*setOnSslErrorReceive)(Ark_NativePointer node, const Opt_Callback_Literal_Function_handler_Object_error_Void* value); - void (*setOnRenderExited0)(Ark_NativePointer node, - const Opt_Callback_OnRenderExitedEvent_Void* value); - void (*setOnRenderExited1)(Ark_NativePointer node, - const Opt_Callback_Literal_Object_detail_Boolean* value); + void (*setOnRenderExited)(Ark_NativePointer node, + const Opt_Callback_OnRenderExitedEvent_Void* value); void (*setOnShowFileSelector)(Ark_NativePointer node, const Opt_Callback_OnShowFileSelectorEvent_Boolean* value); void (*setOnFileSelectorShow)(Ark_NativePointer node, diff --git a/frameworks/bridge/arkts_frontend/koala_projects/arkoala/framework/native/src/generated/bridge_generated.cc b/frameworks/bridge/arkts_frontend/koala_projects/arkoala/framework/native/src/generated/bridge_generated.cc index 15f407ace86..5981803f445 100644 --- a/frameworks/bridge/arkts_frontend/koala_projects/arkoala/framework/native/src/generated/bridge_generated.cc +++ b/frameworks/bridge/arkts_frontend/koala_projects/arkoala/framework/native/src/generated/bridge_generated.cc @@ -29582,34 +29582,30 @@ void impl_WebAttribute_onSslErrorReceive(Ark_NativePointer thisPtr, KSerializerB GetNodeModifiers()->getWebModifier()->setOnSslErrorReceive(self, (const Opt_Callback_Literal_Function_handler_Object_error_Void*)&value_value); } KOALA_INTEROP_DIRECT_V3(WebAttribute_onSslErrorReceive, Ark_NativePointer, KSerializerBuffer, int32_t) -void impl_WebAttribute_onRenderExited0(Ark_NativePointer thisPtr, KSerializerBuffer thisArray, int32_t thisLength) { - Ark_NodeHandle self = reinterpret_cast(thisPtr); - Deserializer thisDeserializer(thisArray, thisLength); - const auto value_value_buf_runtimeType = static_cast(thisDeserializer.readInt8()); - Opt_Callback_OnRenderExitedEvent_Void value_value_buf = {}; - value_value_buf.tag = value_value_buf_runtimeType == INTEROP_RUNTIME_UNDEFINED ? INTEROP_TAG_UNDEFINED : INTEROP_TAG_OBJECT; - if ((INTEROP_RUNTIME_UNDEFINED) != (value_value_buf_runtimeType)) - { - value_value_buf.value = {thisDeserializer.readCallbackResource(), reinterpret_cast(thisDeserializer.readPointerOrDefault(reinterpret_cast(getManagedCallbackCaller(Kind_Callback_OnRenderExitedEvent_Void)))), reinterpret_cast(thisDeserializer.readPointerOrDefault(reinterpret_cast(getManagedCallbackCallerSync(Kind_Callback_OnRenderExitedEvent_Void))))}; - } - Opt_Callback_OnRenderExitedEvent_Void value_value = value_value_buf;; - GetNodeModifiers()->getWebModifier()->setOnRenderExited0(self, (const Opt_Callback_OnRenderExitedEvent_Void*)&value_value); -} -KOALA_INTEROP_DIRECT_V3(WebAttribute_onRenderExited0, Ark_NativePointer, KSerializerBuffer, int32_t) -void impl_WebAttribute_onRenderExited1(Ark_NativePointer thisPtr, KSerializerBuffer thisArray, int32_t thisLength) { + +void impl_WebAttribute_onRenderExited(Ark_NativePointer thisPtr, KSerializerBuffer thisArray, int32_t thisLength) +{ Ark_NodeHandle self = reinterpret_cast(thisPtr); Deserializer thisDeserializer(thisArray, thisLength); const auto value_value_buf_runtimeType = static_cast(thisDeserializer.readInt8()); - Opt_Callback_Literal_Object_detail_Boolean value_value_buf = {}; - value_value_buf.tag = value_value_buf_runtimeType == INTEROP_RUNTIME_UNDEFINED ? INTEROP_TAG_UNDEFINED : INTEROP_TAG_OBJECT; - if ((INTEROP_RUNTIME_UNDEFINED) != (value_value_buf_runtimeType)) - { - value_value_buf.value = {thisDeserializer.readCallbackResource(), reinterpret_cast(thisDeserializer.readPointerOrDefault(reinterpret_cast(getManagedCallbackCaller(Kind_Callback_Literal_Object_detail_Boolean)))), reinterpret_cast(thisDeserializer.readPointerOrDefault(reinterpret_cast(getManagedCallbackCallerSync(Kind_Callback_Literal_Object_detail_Boolean))))}; + Opt_Callback_OnRenderExitedEvent_Void valueValueBuf = {}; + valueValueBuf .tag = + value_value_buf_runtimeType == INTEROP_RUNTIME_UNDEFINED ? INTEROP_TAG_UNDEFINED : INTEROP_TAG_OBJECT; + if ((INTEROP_RUNTIME_UNDEFINED) != (value_value_buf_runtimeType)) { + valueValueBuf .value = { thisDeserializer.readCallbackResource(), + reinterpret_cast( + thisDeserializer.readPointerOrDefault(reinterpret_cast( + getManagedCallbackCaller(Kind_Callback_OnRenderExitedEvent_Void)))), + reinterpret_cast( + thisDeserializer.readPointerOrDefault(reinterpret_cast( + getManagedCallbackCallerSync(Kind_Callback_OnRenderExitedEvent_Void)))) }; } - Opt_Callback_Literal_Object_detail_Boolean value_value = value_value_buf;; - GetNodeModifiers()->getWebModifier()->setOnRenderExited1(self, (const Opt_Callback_Literal_Object_detail_Boolean*)&value_value); + Opt_Callback_OnRenderExitedEvent_Void valueValue = valueValueBuf ; + GetNodeModifiers()->getWebModifier()->setOnRenderExited( + self, static_cast(&valueValue) ); } -KOALA_INTEROP_DIRECT_V3(WebAttribute_onRenderExited1, Ark_NativePointer, KSerializerBuffer, int32_t) +KOALA_INTEROP_DIRECT_V3(WebAttribute_onRenderExited, Ark_NativePointer, KSerializerBuffer, int32_t) void impl_WebAttribute_onShowFileSelector(Ark_NativePointer thisPtr, KSerializerBuffer thisArray, int32_t thisLength) { Ark_NodeHandle self = reinterpret_cast(thisPtr); Deserializer thisDeserializer(thisArray, thisLength); diff --git a/frameworks/bridge/arkts_frontend/koala_projects/arkoala/framework/native/src/generated/dummy_impl.cc b/frameworks/bridge/arkts_frontend/koala_projects/arkoala/framework/native/src/generated/dummy_impl.cc index f2863d72f95..a6242e3f120 100644 --- a/frameworks/bridge/arkts_frontend/koala_projects/arkoala/framework/native/src/generated/dummy_impl.cc +++ b/frameworks/bridge/arkts_frontend/koala_projects/arkoala/framework/native/src/generated/dummy_impl.cc @@ -19139,21 +19139,12 @@ namespace OHOS::Ace::NG::GeneratedModifier { out.append(") \n"); appendGroupedLog(1, out); } - void OnRenderExited0Impl(Ark_NativePointer node, + void OnRenderExitedImpl(Ark_NativePointer node, const Opt_Callback_OnRenderExitedEvent_Void* value) { - if (!needGroupedLog(1)) - return; - string out("onRenderExited("); - WriteToString(&out, value); - out.append(") \n"); - appendGroupedLog(1, out); - } - void OnRenderExited1Impl(Ark_NativePointer node, - const Opt_Callback_Literal_Object_detail_Boolean* value) - { - if (!needGroupedLog(1)) + if (!needGroupedLog(1)) { return; + } string out("onRenderExited("); WriteToString(&out, value); out.append(") \n"); @@ -23197,8 +23188,7 @@ namespace OHOS::Ace::NG::GeneratedModifier { WebAttributeModifier::OnRefreshAccessedHistoryImpl, WebAttributeModifier::OnUrlLoadInterceptImpl, WebAttributeModifier::OnSslErrorReceiveImpl, - WebAttributeModifier::OnRenderExited0Impl, - WebAttributeModifier::OnRenderExited1Impl, + WebAttributeModifier::OnRenderExitedImpl, WebAttributeModifier::OnShowFileSelectorImpl, WebAttributeModifier::OnFileSelectorShowImpl, WebAttributeModifier::OnResourceLoadImpl, diff --git a/frameworks/bridge/arkts_frontend/koala_projects/arkoala/framework/native/src/generated/real_impl.cc b/frameworks/bridge/arkts_frontend/koala_projects/arkoala/framework/native/src/generated/real_impl.cc index da7b57f7ff8..cd79e75313a 100644 --- a/frameworks/bridge/arkts_frontend/koala_projects/arkoala/framework/native/src/generated/real_impl.cc +++ b/frameworks/bridge/arkts_frontend/koala_projects/arkoala/framework/native/src/generated/real_impl.cc @@ -8487,14 +8487,10 @@ namespace OHOS::Ace::NG::GeneratedModifier { const Opt_Callback_Literal_Function_handler_Object_error_Void* value) { } - void OnRenderExited0Impl(Ark_NativePointer node, + void OnRenderExitedImpl(Ark_NativePointer node, const Opt_Callback_OnRenderExitedEvent_Void* value) { } - void OnRenderExited1Impl(Ark_NativePointer node, - const Opt_Callback_Literal_Object_detail_Boolean* value) - { - } void OnShowFileSelectorImpl(Ark_NativePointer node, const Opt_Callback_OnShowFileSelectorEvent_Boolean* value) { @@ -11608,8 +11604,7 @@ namespace OHOS::Ace::NG::GeneratedModifier { WebAttributeModifier::OnRefreshAccessedHistoryImpl, WebAttributeModifier::OnUrlLoadInterceptImpl, WebAttributeModifier::OnSslErrorReceiveImpl, - WebAttributeModifier::OnRenderExited0Impl, - WebAttributeModifier::OnRenderExited1Impl, + WebAttributeModifier::OnRenderExitedImpl, WebAttributeModifier::OnShowFileSelectorImpl, WebAttributeModifier::OnFileSelectorShowImpl, WebAttributeModifier::OnResourceLoadImpl, diff --git a/frameworks/core/interfaces/native/generated/interface/arkoala_api_generated.h b/frameworks/core/interfaces/native/generated/interface/arkoala_api_generated.h index 2852a32b1c0..24b812685fb 100644 --- a/frameworks/core/interfaces/native/generated/interface/arkoala_api_generated.h +++ b/frameworks/core/interfaces/native/generated/interface/arkoala_api_generated.h @@ -23331,10 +23331,8 @@ typedef struct GENERATED_ArkUIWebModifier { const Opt_Type_WebAttribute_onUrlLoadIntercept_callback* value); void (*setOnSslErrorReceive)(Ark_NativePointer node, const Opt_Callback_Literal_Function_handler_Object_error_Void* value); - void (*setOnRenderExited0)(Ark_NativePointer node, - const Opt_Callback_OnRenderExitedEvent_Void* value); - void (*setOnRenderExited1)(Ark_NativePointer node, - const Opt_Callback_Literal_Object_detail_Boolean* value); + void (*setOnRenderExited)(Ark_NativePointer node, + const Opt_Callback_OnRenderExitedEvent_Void* value); void (*setOnShowFileSelector)(Ark_NativePointer node, const Opt_Callback_OnShowFileSelectorEvent_Boolean* value); void (*setOnFileSelectorShow)(Ark_NativePointer node, diff --git a/frameworks/core/interfaces/native/implementation/web_modifier.cpp b/frameworks/core/interfaces/native/implementation/web_modifier.cpp index d31ae7a0374..f0bf800279c 100644 --- a/frameworks/core/interfaces/native/implementation/web_modifier.cpp +++ b/frameworks/core/interfaces/native/implementation/web_modifier.cpp @@ -850,15 +850,13 @@ void OnSslErrorReceiveImpl(Ark_NativePointer node, { // deprecated } -void OnRenderExited0Impl(Ark_NativePointer node, - const Opt_Callback_OnRenderExitedEvent_Void* value) +void OnRenderExitedImpl(Ark_NativePointer node, const Opt_Callback_OnRenderExitedEvent_Void* value) { #ifdef WEB_SUPPORTED auto frameNode = reinterpret_cast(node); CHECK_NULL_VOID(frameNode); auto optValue = Converter::GetOptPtr(value); if (!optValue) { - // TODO: Reset value return; } auto instanceId = Container::CurrentId(); @@ -870,11 +868,6 @@ void OnRenderExited0Impl(Ark_NativePointer node, WebModelStatic::SetRenderExitedId(frameNode, onRenderExited); #endif // WEB_SUPPORTED } -void OnRenderExited1Impl(Ark_NativePointer node, - const Opt_Callback_Literal_Object_detail_Boolean* value) -{ - // deprecated -} void OnShowFileSelectorImpl(Ark_NativePointer node, const Opt_Callback_OnShowFileSelectorEvent_Boolean* value) { @@ -2427,8 +2420,7 @@ const GENERATED_ArkUIWebModifier* GetWebModifier() WebAttributeModifier::OnRefreshAccessedHistoryImpl, WebAttributeModifier::OnUrlLoadInterceptImpl, WebAttributeModifier::OnSslErrorReceiveImpl, - WebAttributeModifier::OnRenderExited0Impl, - WebAttributeModifier::OnRenderExited1Impl, + WebAttributeModifier::OnRenderExitedImpl, WebAttributeModifier::OnShowFileSelectorImpl, WebAttributeModifier::OnFileSelectorShowImpl, WebAttributeModifier::OnResourceLoadImpl, diff --git a/frameworks/core/interfaces/native/implementation/web_modifier_callbacks.cpp b/frameworks/core/interfaces/native/implementation/web_modifier_callbacks.cpp index d0ed9f62179..4a0e580795f 100644 --- a/frameworks/core/interfaces/native/implementation/web_modifier_callbacks.cpp +++ b/frameworks/core/interfaces/native/implementation/web_modifier_callbacks.cpp @@ -51,6 +51,7 @@ #include "core/interfaces/native/implementation/web_resource_response_peer_impl.h" #include "core/pipeline_ng/pipeline_context.h" #include "core/interfaces/native/utility/reverse_converter.h" +#include "base/log/log.h" namespace OHOS::Ace::NG::GeneratedModifier::WebAttributeModifier { diff --git a/test/unittest/capi/modifiers/web_modifier_test.cpp b/test/unittest/capi/modifiers/web_modifier_test.cpp index 4250fea80cb..b8a0ffc895c 100644 --- a/test/unittest/capi/modifiers/web_modifier_test.cpp +++ b/test/unittest/capi/modifiers/web_modifier_test.cpp @@ -924,7 +924,7 @@ HWTEST_F(WebModifierTest, onRenderExitedTest, TestSize.Level1) Converter::ArkValue(checkCallback, contextId); auto optCallback = Converter::ArkValue(arkCallback); - modifier_->setOnRenderExited0(node_, &optCallback); + modifier_->setOnRenderExited(node_, &optCallback); EXPECT_EQ(checkEvent.has_value(), false); webEventHub->FireOnRenderExitedEvent(std::make_shared( -- Gitee