From a6fbb13718fcc276e8e8d39c219a8b8485067efb Mon Sep 17 00:00:00 2001 From: fangzhiyuan Date: Sat, 13 Sep 2025 10:16:36 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=B9=E5=99=A8=E8=8A=82=E7=82=B9=E5=89=94?= =?UTF-8?q?=E9=99=A4=E6=96=B9=E6=A1=88=E9=80=82=E9=85=8D=E8=8A=82=E7=82=B9?= =?UTF-8?q?=E5=8F=8C=E6=8C=82=E5=9C=BA=E6=99=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: fangzhiyuan --- .../render/adapter/rosen_render_context.cpp | 2 +- .../rosen/rosen_render_context_test_new.cpp | 22 ++++++++++++++++++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/frameworks/core/components_ng/render/adapter/rosen_render_context.cpp b/frameworks/core/components_ng/render/adapter/rosen_render_context.cpp index 66df4754ad0..b3e13de9bd5 100755 --- a/frameworks/core/components_ng/render/adapter/rosen_render_context.cpp +++ b/frameworks/core/components_ng/render/adapter/rosen_render_context.cpp @@ -4460,7 +4460,7 @@ bool RosenRenderContext::CanNodeBeDeleted(const RefPtr& node) const node->GenerateOneDepthVisibleFrameWithTransition(childChildrenList); if (rsNode->GetIsDrawn() || rsNode->GetType() != Rosen::RSUINodeType::CANVAS_NODE || childChildrenList.empty() || node->GetTag() == V2::PAGE_ETS_TAG - || node->GetTag() == V2::STAGE_ETS_TAG) { + || node->GetTag() == V2::STAGE_ETS_TAG || node->GetTag() == V2::NODE_CONTAINER_ETS_TAG) { return false; } return true; diff --git a/test/unittest/core/rosen/rosen_render_context_test_new.cpp b/test/unittest/core/rosen/rosen_render_context_test_new.cpp index 40dffdf8d8b..c7c3cf6a207 100644 --- a/test/unittest/core/rosen/rosen_render_context_test_new.cpp +++ b/test/unittest/core/rosen/rosen_render_context_test_new.cpp @@ -1203,4 +1203,24 @@ HWTEST_F(RosenRenderContextTest, RosenRenderContextTestNew044, TestSize.Level1) std::string blurStyleStr = pattern->GetResCacheMapByKey("foregroundBlurStyle.blurStyle"); EXPECT_EQ(blurStyleStr, ""); } -} // namespace OHOS::Ace::NG \ No newline at end of file + +/** + * @tc.name: RosenRenderContextTestNew045 + * @tc.desc: CanNodeBeDeleted(). + * @tc.type: FUNC + */ +HWTEST_F(RosenRenderContextTest, RosenRenderContextTestNew045, TestSize.Level1) +{ + auto frameNode = + FrameNode::GetOrCreateFrameNode("frame", -1, []() { return AceType::MakeRefPtr(nullptr); }); + RefPtr rosenRenderContext = InitRosenRenderContext(frameNode); + + bool canBeDeleted = false; + auto pageNode = FrameNode::CreateFrameNode(V2::PAGE_ETS_TAG, 1, AceType::MakeRefPtr(), true); + canBeDeleted = rosenRenderContext->CanNodeBeDeleted(pageNode); + EXPECT_EQ(canBeDeleted, false); + canBeDeleted = rosenRenderContext->CanNodeBeDeleted(nullptr); + EXPECT_EQ(canBeDeleted, false); +} + +} // namespace OHOS::Ace::NG -- Gitee