[webkit-changes] [WebKit/WebKit] 1999d4: WKDownloadProgress should write its progress as an...

David Quesada noreply at github.com
Wed Nov 16 10:57:34 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 1999d432f1a35cb558900f79f21fb8cbd38aaacc
      https://github.com/WebKit/WebKit/commit/1999d432f1a35cb558900f79f21fb8cbd38aaacc
  Author: David Quesada <david_quesada at apple.com>
  Date:   2022-11-16 (Wed, 16 Nov 2022)

  Changed paths:
    M Source/WebKit/NetworkProcess/Downloads/cocoa/WKDownloadProgress.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/DownloadProgress.mm

  Log Message:
  -----------
  WKDownloadProgress should write its progress as an xattr when unpublishing
https://bugs.webkit.org/show_bug.cgi?id=247904
rdar://102250986

Reviewed by Alexey Proskuryakov.

When unpublishing the NSProgress associated with a download, write an xattr on the progress file that reflects
the fraction of progress made on the download. (or -1 if a download of indeterminate length) This leaves a
record of the progress for outside observers to reflect if they encounter a file that represents a partially
completed download that happens to be paused, and therefore doesn't have a live NSProgress.

* Source/WebKit/NetworkProcess/Downloads/cocoa/WKDownloadProgress.mm:
(-[WKDownloadProgress unpublish]):
(-[WKDownloadProgress _updateProgressExtendedAttributeOnProgressFile]):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/DownloadProgress.mm:
(-[DownloadProgressTestRunner init]):
(-[DownloadProgressTestRunner dealloc]):
    On creation/deallocation of the test runner, create and delete the file being used to publish progress.
    This file needs to actually exist for the purposes of the new test.
(-[DownloadProgressTestRunner progressURL]):
(TEST):
    DownloadProgress.ProgressExtendedAttributeSetAfterPartialDownloadStops: Start a download and pause it,
    partway through, then assert that the progress file has an extended attribute set that reflects the
    fraction of the progress made through the download.

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




More information about the webkit-changes mailing list