From bc971a4cccc4c0059f095a5b43578411ce2f178c Mon Sep 17 00:00:00 2001 From: Sam Atkins Date: Tue, 17 Dec 2024 15:05:33 +0000 Subject: [PATCH] UI/Headless: Clear pending data when a test completes Without this, a crashing ref test is able to take down the entire process because of the `VERIFY(!m_pending_screenshot);` in `take_screenshot()`. The dialog/prompt fields were not causing crashes but clearing them feels more hygienic. --- UI/Headless/HeadlessWebView.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/UI/Headless/HeadlessWebView.cpp b/UI/Headless/HeadlessWebView.cpp index c1ad8bf073a..7b46922bd52 100644 --- a/UI/Headless/HeadlessWebView.cpp +++ b/UI/Headless/HeadlessWebView.cpp @@ -184,6 +184,10 @@ void HeadlessWebView::did_receive_screenshot(Badge, G void HeadlessWebView::on_test_complete(TestCompletion completion) { + m_pending_screenshot.clear(); + m_pending_dialog = Web::Page::PendingDialog::None; + m_pending_prompt_text.clear(); + m_test_promise->resolve(move(completion)); }