Bartek Iwańczuk
bce662d5bb
chore: upgrade rusty_v8 and serde_v8 ( #11216 )
2021-07-02 09:32:48 +02:00
Andreu Botella
015f252066
fix(fetch): encode and decode headers as byte strings ( #11070 )
2021-06-26 17:34:24 +02:00
Andreu Botella
be5d2983b4
chore(wpt): clean up temporary files created by the WPT test runner ( #11108 )
...
Fixes #11107 .
2021-06-24 15:07:36 -04:00
Andreu Botella
40310eaebf
fix(url): use USVStrings in URLSearchParams constructor ( #11101 )
2021-06-24 11:38:37 +02:00
Bert Belder
5a250b9e55
tests: fix bug in WPT test harness ( #10920 )
2021-06-23 19:36:04 +00:00
Andreu Botella
edab21ebab
fix(fetch): proxy body for requests created from other requests ( #11093 )
...
Additionally, if the existing `Request`'s body is disturbed, the Request creation
should fail.
This change also updates the step numbers in the Request constructor to match
whatwg/fetch#1249 .
2021-06-23 16:00:23 +02:00
Luca Casonato
f9ff981daf
feat: MessageChannel
and MessagePort
( #11051 )
...
This commit introduces support for MessageChannel and MessagePort.
MessagePorts can be transfered across other MessagePorts.
2021-06-21 19:53:52 +02:00
Leo K
afe89e8850
fix(websocket): spec conformance & WPT ( #11010 )
2021-06-21 12:15:08 +02:00
Yasser A.Idrissi
0cbaeca026
fix: fetch with method HEAD should not have body ( #11003 )
2021-06-18 11:14:14 +02:00
Luca Casonato
2a66d5de01
fix: align URL / URLSearchParams to spec ( #11005 )
2021-06-16 18:40:35 +02:00
Luca Casonato
77ab2bee9f
fix: some more console spec compliance ( #10983 )
2021-06-16 15:48:39 +02:00
Luca Casonato
ac431ca076
fix: closing / aborting WritableStream is racy ( #10982 )
2021-06-16 02:46:08 +02:00
Luca Casonato
b6fd39377e
fix: pass some more WHATWG streams WPT ( #10970 )
2021-06-15 17:48:25 +02:00
Luca Casonato
4cbc4a7eb3
fix: make WHATWG streams more compliant ( #10967 )
2021-06-15 13:46:02 +02:00
Luca Casonato
f48d66b2b0
tests: fix wpt epoch ci job ( #10960 )
2021-06-14 20:57:02 +02:00
Luca Casonato
d837445e44
build: add wpt epoch/daily run ( #10937 )
...
This adds a daily scheduled CI pipeline that runs WPT tests against
the most recent epochs/daily every night. Results are uploaded to
wpt.fyi.
WPTs are run on all supported platforms, on both stable and canary.
2021-06-14 13:48:57 +02:00
Luca Casonato
614dc1bce7
fix: propagate top level thrown errors in WPT ( #10932 )
...
Previously top level errors were swallowed.
2021-06-11 21:31:53 +02:00
Luca Casonato
8e96961f0e
chore: update wpt ( #10884 )
...
This commit updates wpt. It tries to get us ever closer to eventually
stop floating patches, and being able to use wpt upstream.
2021-06-07 19:16:27 +02:00
Luca Casonato
3a4a47799f
refactor: clean up webidl protype configuration ( #10871 )
2021-06-07 10:04:10 +02:00
Luca Casonato
a66f327250
tests: run wpt scripts with Deno.core.evalContext ( #10852 )
...
This means wpts are now run in script context, and there are better
stack traces.
2021-06-06 18:32:06 +02:00
Luca Casonato
f1deed41e7
tests: generate and upload wptreport.json ( #10869 )
...
These reports can be consumed by tools like `wptreport` or
https://wpt.fyi . The old style report could be removed in a future PR
when wpt.deno.land is updated.
2021-06-06 18:08:50 +02:00
Luca Casonato
1fb2e23a67
feat(fetch): implement abort ( #10863 )
...
This commit introduces fetch aborting via an AbortSignal.
2021-06-06 15:37:17 +02:00
Casper Beyer
3f9187c366
feat(extensions/crypto): implement subtle.digest ( #10796 )
...
Co-authored-by: Yacine Hmito yacinehmito@users.noreply.github.com
2021-06-06 12:57:10 +02:00
Andreu Botella
62bf403157
feat(web): Implement TextDecoderStream and TextEncoderStream ( #10842 )
2021-06-06 03:23:16 +02:00
Luca Casonato
c73ef5fa14
refactor(web): use encoding_rs for text encoding ( #10844 )
...
This commit removes all JS based text encoding / text decoding. Instead
encoding now happens in Rust via encoding_rs (already in tree). This
implementation retains stream support, but adds the last missing
encodings. We are incredibly close to 100% WPT on text encoding now.
This should reduce our baseline heap by quite a bit.
2021-06-05 23:10:07 +02:00
Leo K
bb0c90cadb
fix(crypto): change Crypto to interface ( #10853 )
...
Co-authored-by: Luca Casonato <hello@lcas.dev>
2021-06-05 22:56:59 +02:00
Luca Casonato
368c784d7f
tests: disable failing stream idl test ( #10860 )
...
Didn't catch failure in original PR due to #10856 and merge ordering.
2021-06-05 21:59:03 +02:00
Leo K
b748415baf
fix(streams): expose ReadableByteStreamController & TransformStreamDefaultController ( #10855 )
2021-06-05 19:32:05 +02:00
Luca Casonato
706b75d742
tests: fix wpt runner expected test file failures ( #10856 )
2021-06-05 19:29:41 +02:00
Leo K
5bed6d56ec
tests: remove non-applicable webstorage wpt ( #10858 )
2021-06-05 19:29:28 +02:00
Leo K
cf351f77c2
feat(extensions/crypto): implement randomUUID ( #10848 )
2021-06-05 14:46:24 +02:00
Luca Casonato
1abff0e333
chore: add web crypto to expectations ( #10845 )
...
This should make wpt.deno.land a lot more accurate about our current
implementation status.
2021-06-04 20:46:44 +02:00
Andreu Botella
03184aeabb
fix(fetch): implement newline normalization and escapes in the multipart/form-data serializer ( #10832 )
2021-06-03 20:48:09 +02:00
Luca Casonato
b2a4c2e4f6
build: collect wpt results as json ( #10823 )
2021-06-03 01:12:28 +02:00
Luca Casonato
9ae8dbf173
chore: update wpt ( #10807 )
2021-06-01 18:24:31 +02:00
Andreu Botella
e466a6fc9a
fix: Support the stream option to TextDecoder#decode ( #10805 )
2021-06-01 11:24:16 +02:00
Luca Casonato
1f83b56d43
fix: remove unimplemented Request attributes ( #10784 )
...
Not having them is better than throwing "unimplemented" errors on
access.
2021-05-31 11:03:17 +02:00
Luca Casonato
d5d59bb794
fix(fetch): make prototype properties writable ( #10769 )
2021-05-26 23:44:42 +02:00
Yoshiya Hinosawa
c8b3f85796
fix(extension/file): update File constructor following the spec ( #10760 )
2021-05-25 22:35:17 +09:00
Ben Noordhuis
af1546391c
feat(extensions): BroadcastChannel WPT conformance
...
Replaces the file-backed provider by an in-memory one because proper
file locking is a hard problem that detracts from the proof of concept.
Teach the WPT runner how to extract tests from .html files because all
the relevant tests in test_util/wpt/webmessaging/broadcastchannel are
inside basics.html and interface.html.
2021-05-23 15:16:42 +02:00
Aaron O'Mullan
eb56186e44
fix(serde_v8): remove intentional deserialization error on non-utf8 strings ( #10156 )
...
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2021-05-19 20:45:48 +02:00
Yusuke Tanaka
cda09c166f
chore: update deno_lint binary used in CI to v0.5.0 ( #10652 )
2021-05-18 17:24:01 +02:00
crowlKats
dfe528198d
feat: add WebStorage API ( #7819 )
...
This commit introduces localStorage and sessionStorage.
2021-05-10 12:02:47 +02:00
Luca Casonato
d806dc0f16
chore: update wpt ( #10509 )
2021-05-09 16:32:30 +02:00
Thiago Padilha
18a684ab1c
fix: TextEncoder#encodeInto spec compliance + perf gains ( #10129 )
2021-05-08 23:31:40 +02:00
Anonymous
688557e226
fix(op_crates/fetch): check fetch() argument length ( #10474 )
2021-05-03 09:05:42 +02:00
Casper Beyer
e4e7d957e8
feat(core): enable wasm threading support ( #10116 )
2021-04-26 17:54:07 +02:00
Luca Casonato
cdd2355f0f
tests: enable idlharness wpt ( #10371 )
...
This enables more test cases that expose issues in our implementation.
2021-04-26 13:02:49 +02:00
Luca Casonato
9e6cd91014
chore: align fetch to spec ( #10203 )
...
This commit aligns the `fetch` API and the `Request` / `Response`
classes belonging to it to the spec. This commit enables all the
relevant `fetch` WPT tests. Spec compliance is now at around 90%.
Performance is essentially identical now (within 1% of 1.9.0).
2021-04-20 14:47:22 +02:00
Yoshiya Hinosawa
8424647d22
chore: update copyright headers ( #10243 )
2021-04-20 14:27:36 +09:00
Luca Casonato
0552eaf569
chore: align Headers
to spec ( #10199 )
...
This commit aligns `Headers` to spec. It also removes the now unused
03_dom_iterable.js file. We now pass all relevant `Headers` WPT. We do
not implement any sort of header filtering, as we are a server side
runtime.
This is likely not the most efficient implementation of `Headers` yet.
It is however spec compliant. Once all the APIs in the `HTTP` hot loop
are correct we can start optimizing them. It is likely that this commit
reduces bench throughput temporarily.
2021-04-19 01:00:13 +02:00
Luca Casonato
353e79c796
chore: align FormData to spec ( #10169 )
...
This PR aligns `FormData` to spec. All WPT tests are passing.
2021-04-14 22:49:16 +02:00
Casper Beyer
ec1fce58d9
fix(core): remove wasm-test-streaming flag ( #10158 )
2021-04-13 06:20:05 -04:00
Luca Casonato
e7f18d6468
feat: blob URL support in fetch ( #10120 )
...
This commit adds blob URL support in `fetch`. Tested via WPT. This is
the first op_crate to have a rust dependency on a different op_crate.
2021-04-11 14:09:10 +02:00
Luca Casonato
3ab94983b4
feat: data URL support in fetch ( #10054 )
...
This commit adds data URL support in `fetch`. Tested via wpt.
2021-04-10 23:38:15 +02:00
Luca Casonato
c867c1aa47
fix: enable FileReader wpt and align to spec ( #10063 )
...
This adds some algorithms from the whatwg mimesniff, whatwg infra, and
whatwg encoding specs that FileReader needs to use internally.
2021-04-08 15:05:08 +02:00
Luca Casonato
ee07ef2962
chore: update deno_file to use deno_webidl ( #10042 )
...
This changes the custom input converters in deno_file to use deno_webidl
converters.
2021-04-08 01:23:26 +02:00
Luca Casonato
00e63306cb
refactor: add deno_file op crate ( #10019 )
...
Also enables WPT for FileReader.
2021-04-06 12:55:05 +02:00
Aaron O'Mullan
fec1b2a5a4
refactor: new optimized op-layer using serde_v8 ( #9843 )
...
- Improves op performance.
- Handle op-metadata (errors, promise IDs) explicitly in the op-layer vs
per op-encoding (aka: out-of-payload).
- Remove shared queue & custom "asyncHandlers", all async values are
returned in batches via js_recv_cb.
- The op-layer should be thought of as simple function calls with little
indirection or translation besides the conceptually straightforward
serde_v8 bijections.
- Preserve concepts of json/bin/min as semantic groups of their
inputs/outputs instead of their op-encoding strategy, preserving these
groups will also facilitate partial transitions over to v8 Fast API for the
"min" and "bin" groups
2021-03-31 10:37:38 -04:00
crowlKats
b11249647f
fix: update wpt + align AbortController ( #9907 )
2021-03-27 15:49:57 +01:00
Nayeem Rahman
badc88b78a
refactor(op_crates/web): Move URL parsing to Rust ( #9276 )
2021-03-02 02:30:24 +01:00
Casper Beyer
3f5265b21e
fix: align btoa to spec ( #9053 )
2021-02-16 02:10:59 +01:00
Casper Beyer
a2adecbba6
tests: re-enable wpt/webappapis/timers ( #9489 )
2021-02-13 20:43:36 +01:00
Luca Casonato
af460fc464
fix: webidl utils and align Event
to spec ( #9470 )
2021-02-13 15:58:12 +01:00
Casper Beyer
4c5631f85a
test(cli): enable microtask-queue tests ( #9490 )
2021-02-13 06:59:46 -05:00
Luca Casonato
25b35be50d
refactor: rewrite File implementation ( #9334 )
2021-02-04 15:05:36 +01:00
Dezső Mészáros
3f6483e501
typo ( #9378 )
2021-02-02 22:21:48 -05:00
Luca Casonato
fa975a9bae
refactor: rewrite Blob implementation ( #9309 )
...
Co-authored-by: Kitson Kelly <me@kitsonkelly.com>
2021-01-30 19:22:24 +01:00
Luca Casonato
6ecc86cf2a
chore: add jsdoc to 26_fetch.js and enable some fetch tests ( #9305 )
2021-01-28 21:37:21 +01:00
Luca Casonato
1698bc64c1
tests: enable url wpt ( #9299 )
2021-01-27 22:37:15 +01:00
Luca Casonato
2638aa03a5
tests: new typescript WPT runner ( #9269 )
2021-01-27 15:06:18 +01:00