From 82da7bde7ebe5f9cd7bfda7063305a08514b2916 Mon Sep 17 00:00:00 2001 From: diao-gaoyang Date: Fri, 12 Sep 2025 10:19:56 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=82=E6=95=B0=E4=B8=BA=E7=A9=BA=E6=97=B6?= =?UTF-8?q?=E4=B8=8D=E8=BF=94=E5=9B=9Enullptr?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: diao-gaoyang --- .../napi_webview_controller.cpp | 31 ++++++++++--------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/interfaces/kits/napi/webviewcontroller/napi_webview_controller.cpp b/interfaces/kits/napi/webviewcontroller/napi_webview_controller.cpp index e93803932..f1793b228 100644 --- a/interfaces/kits/napi/webviewcontroller/napi_webview_controller.cpp +++ b/interfaces/kits/napi/webviewcontroller/napi_webview_controller.cpp @@ -524,24 +524,27 @@ std::shared_ptr GetPrefetchOptions(napi_env env, napi_value { napi_value minTimeBetweenPrefetchesMsObj = nullptr; int32_t minTimeBetweenPrefetchesMs = 500; - napi_get_named_property(env, Options, "minTimeBetweenPrefetchesMs", &minTimeBetweenPrefetchesMsObj); - if (!NapiParseUtils::ParseInt32(env, minTimeBetweenPrefetchesMsObj, minTimeBetweenPrefetchesMs)) { - BusinessError::ThrowErrorByErrcode(env, PARAM_CHECK_ERROR, - NWebError::FormatString(ParamCheckErrorMsgTemplate::TYPE_ERROR, "minTimeBetweenPrefetches", "number")); - return nullptr; - } - napi_value ignoreCacheControlNoStoreObj = nullptr; bool ignoreCacheControlNoStore = false; - napi_get_named_property(env, Options, "ignoreCacheControlNoStore", &ignoreCacheControlNoStoreObj); - if (!NapiParseUtils::ParseBoolean(env, ignoreCacheControlNoStoreObj, ignoreCacheControlNoStore)) { - BusinessError::ThrowErrorByErrcode(env, PARAM_CHECK_ERROR, - NWebError::FormatString(ParamCheckErrorMsgTemplate::TYPE_ERROR, "ignoreCacheControlNoStore", "number")); - return nullptr; - } - + std::shared_ptr prefetchOptions = std::make_shared( minTimeBetweenPrefetchesMs, ignoreCacheControlNoStore); + + if (napi_get_named_property(env, Options, "minTimeBetweenPrefetchesMs", + &minTimeBetweenPrefetchesMsObj) == napi_ok) { + if (!NapiParseUtils::ParseInt32(env, minTimeBetweenPrefetchesMsObj, minTimeBetweenPrefetchesMs)) { + WVLOG_E("wrong Param type."); + } + } + + if (napi_get_named_property(env, Options, "ignoreCacheControlNoStore", + &ignoreCacheControlNoStoreObj) == napi_ok) { + if (!NapiParseUtils::ParseBoolean(env, ignoreCacheControlNoStoreObj, ignoreCacheControlNoStore)) { + WVLOG_E("wrong Param type."); + } + } + + prefetchOptions = std::make_shared(minTimeBetweenPrefetchesMs, ignoreCacheControlNoStore); return prefetchOptions; } -- Gitee