From 0d671642536dba4a5c95e7dcb9423ee7a9742af3 Mon Sep 17 00:00:00 2001 From: lianyuanqi Date: Tue, 14 Oct 2025 19:21:33 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BA=9F=E5=BC=83=E6=8E=A5=E5=8F=A3=E8=B5=84?= =?UTF-8?q?=E6=BA=90=E9=87=8A=E6=94=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: lianyuanqi --- ArkWebKit/ArkWebSchemeHandler/entry/src/main/cpp/hello.cpp | 2 ++ .../entry/src/main/cpp/rawfile_request.cpp | 6 +++++- .../entry/src/main/ets/pages/SchemeHandlerNdk.ets | 4 +++- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/ArkWebKit/ArkWebSchemeHandler/entry/src/main/cpp/hello.cpp b/ArkWebKit/ArkWebSchemeHandler/entry/src/main/cpp/hello.cpp index c5ec9335a..21abcb034 100644 --- a/ArkWebKit/ArkWebSchemeHandler/entry/src/main/cpp/hello.cpp +++ b/ArkWebKit/ArkWebSchemeHandler/entry/src/main/cpp/hello.cpp @@ -47,6 +47,7 @@ void OnURLRequestStop(const ArkWeb_SchemeHandler *schemeHandler, RawfileRequest *rawfileRequest = (RawfileRequest *)OH_ArkWebResourceRequest_GetUserData(request); if (rawfileRequest) { rawfileRequest->Stop(); + delete rawfileRequest; } } @@ -72,6 +73,7 @@ void OnURLRequestStopForSW(const ArkWeb_SchemeHandler *schemeHandler, RawfileRequest *rawfileRequest = (RawfileRequest *)OH_ArkWebResourceRequest_GetUserData(request); if (rawfileRequest) { rawfileRequest->Stop(); + delete rawfileRequest; } } diff --git a/ArkWebKit/ArkWebSchemeHandler/entry/src/main/cpp/rawfile_request.cpp b/ArkWebKit/ArkWebSchemeHandler/entry/src/main/cpp/rawfile_request.cpp index a35e9066b..669eb9724 100644 --- a/ArkWebKit/ArkWebSchemeHandler/entry/src/main/cpp/rawfile_request.cpp +++ b/ArkWebKit/ArkWebSchemeHandler/entry/src/main/cpp/rawfile_request.cpp @@ -94,7 +94,11 @@ RawfileRequest::RawfileRequest(const ArkWeb_ResourceRequest *resourceRequest, resourceManager_(resourceManager) {} -RawfileRequest::~RawfileRequest() {} +RawfileRequest::~RawfileRequest() { + if (stream_) { + OH_ArkWebResourceRequest_DestroyHttpBodyStream(stream_); + } +} void RawfileRequest::Start() diff --git a/ArkWebKit/ArkWebSchemeHandler/entry/src/main/ets/pages/SchemeHandlerNdk.ets b/ArkWebKit/ArkWebSchemeHandler/entry/src/main/ets/pages/SchemeHandlerNdk.ets index 4fe63b6ee..5a1b037d7 100644 --- a/ArkWebKit/ArkWebSchemeHandler/entry/src/main/ets/pages/SchemeHandlerNdk.ets +++ b/ArkWebKit/ArkWebSchemeHandler/entry/src/main/ets/pages/SchemeHandlerNdk.ets @@ -38,7 +38,9 @@ struct Index { .domStorageAccess(true) .cacheMode(CacheMode.Default) .onPageBegin( event => { - testNapi.initResourceManager(getContext().resourceManager); + if (this.getUIContext().getHostContext()) { + testNapi.initResourceManager(this.getUIContext().getHostContext()!.resourceManager); + } }) } .width('100%') -- Gitee