WIP feat: increased WPT compatibility#1553
Draft
richarddavison wants to merge 2 commits into
Draft
Conversation
a3063a0 to
c5ed78a
Compare
…bCrypto
Raises bundle/js/__tests__/wpt from 161 to 169 passing tests (out of 180)
with zero unit-test regressions, through a series of targeted spec-
correctness fixes.
Fetch: real Subresource Integrity verification (sha-256/384/512 with
strongest-metadata selection and base64+base64url decoding); 421
Misdirected Request retry on a fresh TCP connection per Fetch \u00a74.5;
duplex: 'half' enforcement for streaming request bodies; reject_with_error
now surfaces the actual JS exception value instead of an uninitialized
one.
URL: Windows drive-letter normalization (/w|/ -> /w:/); file-URL host
preservation when path has a drive letter; USVString conversion on
constructor input (lone UTF-16 surrogates -> U+FFFD); spec-correct port
setter whitespace handling; /.-sentinel stripping on set_hostname;
blob-URL origin null-opacity for non-HTTP(S) inner URLs; trailing-space
percent-encoding on non-special opaque paths.
Streams: implement type: 'owning' with structural-transfer on
controller.enqueue(chunk, {transfer}); fix reentrancy borrow conflict in
byobRequest when user code patches Object.prototype.then mid-enqueue;
Rust-side direct-drain of closed ReadableStream queues so
Response.text()/.json() etc. resist Object.prototype.then pollution.
WebCrypto: subtle.digest snapshots input bytes synchronously at call time
(no longer at first poll), so post-call buffer mutations can't alter the
result; detached BufferSource is treated as empty per WebIDL. TextDecoder
got the same detached-buffer treatment.
Also: console counters/timers moved from thread_local! to
Ctx::store_userdata so multiple contexts don't conflate state.
c5ed78a to
a42b04e
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description of changes
Major refactor to for increased Web Platform compatibility. This branch raises
bundle/js/__tests__/wptfrom below 100 to 169.Checklist
tests/unitand/or in Rust for my feature if neededmake fixto format JS and apply Clippy auto fixesmake checktypes/directoryBy submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.