[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