diff --git a/frameworks/core/components_ng/pattern/web/web_pattern.cpp b/frameworks/core/components_ng/pattern/web/web_pattern.cpp index d545d0e56d00331e805f26ee654800afa10146c0..f55abe8c5fa10c4833eb93612292974ddf020827 100644 --- a/frameworks/core/components_ng/pattern/web/web_pattern.cpp +++ b/frameworks/core/components_ng/pattern/web/web_pattern.cpp @@ -8562,7 +8562,8 @@ void WebPattern::AdjustRotationRenderFit(WindowSizeChangeReason type) return; } - if (delegate_) { + if (delegate_ && + renderMode_ == RenderMode::ASYNC_RENDER && layoutMode_ != WebLayoutMode::FIT_CONTENT) { delegate_->MaximizeResize(); } diff --git a/test/unittest/core/pattern/web/web_pattern_window_test_ng.cpp b/test/unittest/core/pattern/web/web_pattern_window_test_ng.cpp index c93483a2cbc320bd8a37f4118bd6f74a38109fe5..8e1ec56701542642af842282f2a8a2415ffd5c4c 100644 --- a/test/unittest/core/pattern/web/web_pattern_window_test_ng.cpp +++ b/test/unittest/core/pattern/web/web_pattern_window_test_ng.cpp @@ -1082,14 +1082,16 @@ HWTEST_F(WebPatternWindowTestNg, AdjustRotationRenderFitTest001, TestSize.Level1 EXPECT_NE(frameNode, nullptr); stack->Push(frameNode); auto webPattern = frameNode->GetPattern(); + EXPECT_NE(webPattern, nullptr); webPattern->OnModifyDone(); ASSERT_NE(webPattern->delegate_, nullptr); auto type = WindowSizeChangeReason::UNDEFINED; webPattern->AdjustRotationRenderFit(type); - type = WindowSizeChangeReason::ROTATION; + type = WindowSizeChangeReason::MAXIMIZE; webPattern->AdjustRotationRenderFit(type); webPattern->isAttachedToMainTree_ = true; webPattern->isVisible_ = false; + type = WindowSizeChangeReason::ROTATION; webPattern->AdjustRotationRenderFit(type); webPattern->isVisible_ = true; webPattern->delegate_ = nullptr;