Browse Source

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.
Sam Atkins 6 months ago
parent
commit
bc971a4ccc
1 changed files with 4 additions and 0 deletions
  1. 4 0
      UI/Headless/HeadlessWebView.cpp

+ 4 - 0
UI/Headless/HeadlessWebView.cpp

@@ -184,6 +184,10 @@ void HeadlessWebView::did_receive_screenshot(Badge<WebView::WebContentClient>, G
 
 
 void HeadlessWebView::on_test_complete(TestCompletion completion)
 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));
     m_test_promise->resolve(move(completion));
 }
 }