diff --git a/ArkWebKit/ArkWebSchemeHandler/entry/src/main/cpp/hello.cpp b/ArkWebKit/ArkWebSchemeHandler/entry/src/main/cpp/hello.cpp index c5ec9335a06ff09c025923a959cc8cb7e1c24ff2..21abcb034d99a7e50714ac63167f7b1d76ac20a2 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 a35e9066b403cac1b56ba0d0960a0a25fe21329a..669eb9724709765f8eec5e6a06992da154d5b4f3 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 4fe63b6ee31db0567346ca079428fb054332ff28..5a1b037d740ace539a343891596f258012f51948 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%')