[webkit-changes] [WebKit/WebKit] 3a75b5: Error on piped ReadableStream leads to Unhandled P...

youennf noreply at github.com
Mon Mar 27 00:25:31 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 3a75b5d2de94aa396a99b454ac47f3be9e0dc726
      https://github.com/WebKit/WebKit/commit/3a75b5d2de94aa396a99b454ac47f3be9e0dc726
  Author: Youenn Fablet <youennf at gmail.com>
  Date:   2023-03-27 (Mon, 27 Mar 2023)

  Changed paths:
    M LayoutTests/imported/w3c/web-platform-tests/streams/piping/abort.any-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/streams/piping/abort.any.serviceworker-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/streams/piping/abort.any.sharedworker-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/streams/piping/abort.any.worker-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/streams/piping/close-propagation-backward.any.serviceworker-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/streams/piping/error-propagation-backward.any-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/streams/piping/error-propagation-backward.any.serviceworker-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/streams/piping/error-propagation-backward.any.sharedworker-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/streams/piping/error-propagation-backward.any.worker-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/streams/piping/error-propagation-forward.any-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/streams/piping/error-propagation-forward.any.serviceworker-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/streams/piping/error-propagation-forward.any.sharedworker-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/streams/piping/error-propagation-forward.any.worker-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/streams/piping/flow-control.any-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/streams/piping/flow-control.any.serviceworker-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/streams/piping/flow-control.any.sharedworker-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/streams/piping/flow-control.any.worker-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/streams/piping/multiple-propagation.any-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/streams/piping/multiple-propagation.any.serviceworker-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/streams/piping/multiple-propagation.any.sharedworker-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/streams/piping/multiple-propagation.any.worker-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/streams/transform-streams/backpressure.any-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/streams/transform-streams/terminate.any-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/streams/transform-streams/terminate.any.serviceworker-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/streams/transform-streams/terminate.any.sharedworker-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/streams/transform-streams/terminate.any.worker-expected.txt
    R LayoutTests/platform/glib/imported/w3c/web-platform-tests/streams/piping/abort.any-expected.txt
    R LayoutTests/platform/glib/imported/w3c/web-platform-tests/streams/piping/close-propagation-backward.any-expected.txt
    R LayoutTests/platform/glib/imported/w3c/web-platform-tests/streams/piping/close-propagation-forward.any-expected.txt
    R LayoutTests/platform/glib/imported/w3c/web-platform-tests/streams/piping/error-propagation-backward.any-expected.txt
    R LayoutTests/platform/glib/imported/w3c/web-platform-tests/streams/piping/error-propagation-forward.any-expected.txt
    R LayoutTests/platform/glib/imported/w3c/web-platform-tests/streams/piping/flow-control.any-expected.txt
    R LayoutTests/platform/glib/imported/w3c/web-platform-tests/streams/piping/general.any-expected.txt
    R LayoutTests/platform/glib/imported/w3c/web-platform-tests/streams/piping/multiple-propagation.any-expected.txt
    R LayoutTests/platform/glib/imported/w3c/web-platform-tests/streams/piping/pipe-through.any-expected.txt
    A LayoutTests/streams/pipeTo-unhandled-promise-expected.txt
    A LayoutTests/streams/pipeTo-unhandled-promise.html
    M Source/WebCore/Modules/streams/ReadableStreamInternals.js

  Log Message:
  -----------
  Error on piped ReadableStream leads to Unhandled Promise Rejection
https://bugs.webkit.org/show_bug.cgi?id=251463
rdar://problem/105149496

Reviewed by Alex Christensen.

The closed promise can be rejected in which case we do not need to do anything, except make sure the promise is handled.
Replacing undefined by an empty function to make it handled.

Ditto for pendingWritePromise since we want to react on promise settlement, no matter whether resolved or rejected.
This only impacts unhandled promise rejection code since eithwe we ignore the promise altogether, or the current code is using the same handler for fulfillment and rejection.

Removing some GLIB specifc test expectations as they should be the same as the base ones.

* LayoutTests/imported/w3c/web-platform-tests/streams/piping/abort.any-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/streams/piping/abort.any.serviceworker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/streams/piping/abort.any.sharedworker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/streams/piping/abort.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/streams/piping/close-propagation-backward.any.serviceworker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/streams/piping/error-propagation-backward.any-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/streams/piping/error-propagation-backward.any.serviceworker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/streams/piping/error-propagation-backward.any.sharedworker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/streams/piping/error-propagation-backward.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/streams/piping/error-propagation-forward.any-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/streams/piping/error-propagation-forward.any.serviceworker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/streams/piping/error-propagation-forward.any.sharedworker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/streams/piping/error-propagation-forward.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/streams/piping/flow-control.any-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/streams/piping/flow-control.any.serviceworker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/streams/piping/flow-control.any.sharedworker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/streams/piping/flow-control.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/streams/piping/multiple-propagation.any-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/streams/piping/multiple-propagation.any.serviceworker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/streams/piping/multiple-propagation.any.sharedworker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/streams/piping/multiple-propagation.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/streams/transform-streams/backpressure.any-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/streams/transform-streams/terminate.any-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/streams/transform-streams/terminate.any.serviceworker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/streams/transform-streams/terminate.any.sharedworker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/streams/transform-streams/terminate.any.worker-expected.txt:
* LayoutTests/platform/glib/imported/w3c/web-platform-tests/streams/piping/abort.any-expected.txt: Removed.
* LayoutTests/platform/glib/imported/w3c/web-platform-tests/streams/piping/close-propagation-backward.any-expected.txt: Removed.
* LayoutTests/platform/glib/imported/w3c/web-platform-tests/streams/piping/close-propagation-forward.any-expected.txt: Removed.
* LayoutTests/platform/glib/imported/w3c/web-platform-tests/streams/piping/error-propagation-backward.any-expected.txt: Removed.
* LayoutTests/platform/glib/imported/w3c/web-platform-tests/streams/piping/error-propagation-forward.any-expected.txt: Removed.
* LayoutTests/platform/glib/imported/w3c/web-platform-tests/streams/piping/flow-control.any-expected.txt: Removed.
* LayoutTests/platform/glib/imported/w3c/web-platform-tests/streams/piping/general.any-expected.txt: Removed.
* LayoutTests/platform/glib/imported/w3c/web-platform-tests/streams/piping/multiple-propagation.any-expected.txt: Removed.
* LayoutTests/platform/glib/imported/w3c/web-platform-tests/streams/piping/pipe-through.any-expected.txt: Removed.
* LayoutTests/streams/pipeTo-unhandled-promise-expected.txt: Added.
* LayoutTests/streams/pipeTo-unhandled-promise.html: Added.
* Source/WebCore/Modules/streams/ReadableStreamInternals.js:
(pipeToClosingMustBePropagatedForward):
(pipeToClosingMustBePropagatedBackward): Deleted.

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




More information about the webkit-changes mailing list