[webkit-changes] [WebKit/WebKit] ea82ae: [WPE][GTK] Handle the flakiness in test /webkit/Do...

ziransun noreply at github.com
Wed Dec 11 08:48:01 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: ea82aedda965972b25919d22dd960ded8f54e66f
      https://github.com/WebKit/WebKit/commit/ea82aedda965972b25919d22dd960ded8f54e66f
  Author: Ziran Sun <zsun at igalia.com>
  Date:   2024-12-11 (Wed, 11 Dec 2024)

  Changed paths:
    M Source/WebKit/NetworkProcess/Downloads/DownloadManager.cpp
    M Source/WebKit/UIProcess/Downloads/DownloadProxy.cpp
    M Source/WebKit/UIProcess/Downloads/DownloadProxy.h
    M Tools/TestWebKitAPI/glib/TestExpectations.json

  Log Message:
  -----------
  [WPE][GTK] Handle the flakiness in test /webkit/Downloads/local-file-error.
https://bugs.webkit.org/show_bug.cgi?id=281813

Reviewed by Michael Catanzaro.

In one sub-test in /webkit/Downloads/local-file-error, it downloads
a local file and immediately cancel it.

The flakiness is caused by how fast the download finishes. There is a chance
that the DownloadManager has called downloadFinished() before calling
cancelDownload(), in which case the download with downloadID has been
removed frome m_downloads. This causes ASSERT_NOT_REACHED() failure. Yet in
DownloadManager we are not able to get information about cancellation until
cancelDownload() call. The assertion is removed to address this case.

The solution here is, keeping a track of the cancellation status in DownloadProxy,
and handling cancellation case from there. This will fix sequent assertion
failures after the downloadManager calls.

* Tools/TestWebKitAPI/glib/TestExpectations.json:
* Source/WebKit/NetworkProcess/Downloads/DownloadManager.cpp:
(WebKit::DownloadManager::cancelDownload):
* Source/WebKit/UIProcess/Downloads/DownloadProxy.cpp:
(WebKit::DownloadProxy::cancel):
(WebKit::DownloadProxy::didFinish):
(WebKit::DownloadProxy::didFail):
* Source/WebKit/UIProcess/Downloads/DownloadProxy.h:

Canonical link: https://commits.webkit.org/287675@main



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list