1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-11 10:07:54 -05:00
Commit graph

280 commits

Author SHA1 Message Date
Leo Kettmeir
3c97bbe165
fix(ext/websocket): WebSocket dispatch single close event (#13443) 2022-05-23 13:21:11 +02:00
Leo Kettmeir
4e1ca1d178
refactor: use spawn API across codebase (#14414) 2022-05-18 22:00:11 +02:00
Colin Ihrig
1fa75f75c9
fix(ext/web): throw if listener and signal are null (#14601)
This commit fixes a failing WPT test by making EventTarget's
addEventListener() method throw if both the listener and the
signal option are null.

Fixes: https://github.com/denoland/deno/issues/14593
2022-05-16 10:46:39 -04:00
Geert-Jan Zwiers
0568be863b
feat(ext/web): add performance.toJSON (#14548) 2022-05-13 18:36:00 +02:00
Luca Casonato
a5b50d0915
feat(ext/web): implement static Response.json (#14566)
This commit adds support for the static `Response.json` method.
2022-05-13 14:28:05 +02:00
Luca Casonato
eed7afc3aa
chore: update wpt (#14592) 2022-05-13 13:34:53 +02:00
Luca Casonato
2f7f41533b
fix(ext/web): brand check in performance.timeOrigin (#14550) 2022-05-10 02:31:35 +02:00
Geert-Jan Zwiers
dd1d6a0f67
feat(web): add performance.timeOrigin (#14489)
Add support for the `performance.timeOrigin` web API.

Co-authored-by: Jovi De Croock <decroockjovi@gmail.com>
2022-05-06 19:37:18 +02:00
Nayeem Rahman
c30d95f2e3
feat(ext/web): add globalThis.reportError() (#13799) 2022-04-19 10:59:51 +02:00
Luca Casonato
ca3b20df3c
chore: update wpt (#14313) 2022-04-18 21:17:19 +02:00
Ryan Dahl
163e1d6192
disable flakes (#13962) 2022-03-15 11:19:59 -04:00
Andreu Botella
9f494dc405
feat(ext/web): Add AbortSignal.timeout() (#13687) 2022-03-14 20:19:22 +01:00
Satya Rohith
70690f54af
chore: update deps (#13821) 2022-03-05 03:38:04 +05:30
Divy Srivastava
8b2989c417
feat(ext/crypto): AES-GCM support for 128bit IVs (#13805) 2022-03-02 10:56:10 +05:30
Andreu Botella
665ea9b5f0
chore: update wpt (#13679) 2022-02-16 14:33:34 +01:00
Divy Srivastava
e218d567d5
fix(ext/crypto): support EC p256 private key material in exportKey (#13547)
Co-authored-by: Luca Casonato <hello@lcas.dev>
2022-02-08 18:48:28 +05:30
Leo Kettmeir
30ddf436d0
feat(ext/web): add CompressionStream API (#11728)
Co-authored-by: Luca Casonato <hello@lcas.dev>
Co-authored-by: Ryan Dahl <ry@tinyclouds.org>
2022-01-24 18:03:06 +01:00
Yoshiya Hinosawa
4c1053ad33
chore: update copyright year (#13434) 2022-01-20 16:10:16 +09:00
Leo Kettmeir
e134ac6741
chore: update wpt (#13423) 2022-01-19 12:31:32 +01:00
Sean Michael Wykes
9139985180
feat(ext/crypto): implement pkcs8/JWK for P-384 curves (#13154) 2022-01-19 12:14:35 +05:30
Sean Michael Wykes
77e58fe7f9
feat(ext/crypto): implement pkcs8/spki/jwk exportKey for ECDSA and ECDH (#13104) 2022-01-19 09:08:35 +05:30
Leo Kettmeir
659bbd731c
feat(streams): reject pending reads when releasing reader (#13375) 2022-01-14 17:34:54 +01:00
Leo Kettmeir
b720af994a
chore: update wpt (#13371) 2022-01-14 17:00:02 +01:00
Divy Srivastava
919ded1a0b
feat(ext/crypto): implement AES-GCM decryption (#13319) 2022-01-14 14:18:53 +05:30
Leo Kettmeir
f955afc5ea
chore: bump rust-urlpattern to 0.1.3 (#13328) 2022-01-11 22:42:58 +01:00
Sean Michael Wykes
91f6c5fc7e
feat(ext/crypto): implement AES-KW for wrapKey/unwrapKey (#13286) 2022-01-11 10:14:47 +05:30
Ryan Dahl
1fb5858009
chore: update copyright to 2022 (#13306)
Co-authored-by: Erfan Safari <erfanshield@outlook.com>
2022-01-07 22:09:52 -05:00
Sean Michael Wykes
59f0eafd19
feat(ext/crypto): JWK support for unwrapKey/wrapKey (#13261) 2022-01-07 16:39:01 +05:30
Sean Michael Wykes
d92072c656
chore(wpt): add "--inspect-brk" flag to WPT runner (#13267) 2022-01-06 11:24:37 +01:00
Divy Srivastava
c74eb7a889
feat(ext/crypto): implement AES-GCM encryption (#13119) 2022-01-05 20:42:30 +05:30
Sean Michael Wykes
9a42d65fc7
feat(ext/crypto): support AES-CTR encrypt/decrypt (#13177)
Fixes #13201.
2022-01-03 12:27:28 +01:00
Sean Michael Wykes
07618c861e
fix(ext/crypto) include AES-CTR for deriveKey (#13174) 2021-12-27 08:25:17 -05:00
Sean Michael Wykes
60faf7a0ed
feat(ext/crypto): support importing ECSDA and ECDH (#13088)
Co-authored-by: Luca Casonato <hello@lcas.dev>
2021-12-16 17:28:43 +01:00
Bartek Iwańczuk
a1f0796fcc
feat: Add support for import assertions and JSON modules (#12866)
This commit adds proper support for import assertions and JSON modules.

Implementation of "core/modules.rs" was changed to account for multiple possible
module types, instead of always assuming that the code is an "ES module". In
effect "ModuleMap" now has knowledge about each modules' type (stored via
"ModuleType" enum). Module loading pipeline now stores information about
expected module type for each request and validates that expected type matches
discovered module type based on file's "MediaType".

Relevant tests were added to "core/modules.rs" and integration tests,
additionally multiple WPT tests were enabled.

There are still some rough edges in the implementation and not all WPT were
enabled, due to:
a) unclear BOM handling in source code by "FileFetcher"
b) design limitation of Deno's "FileFetcher" that doesn't download the same
module multiple times in a single run

Co-authored-by: Kitson Kelly <me@kitsonkelly.com>
2021-12-15 19:22:36 +01:00
Luca Casonato
b220a58d1a
feat(ext/crypto): support exporting RSA JWKs (#13081)
This commit adds support for exporting RSA JWKs in the Web Crypto API.
It also does some minor fixes for RSA JWK imports.

Co-authored-by: Sean Michael Wykes <sean.wykes@nascent.com.br>
2021-12-14 17:02:14 +01:00
Luca Casonato
5fe4d5c818
feat(ext/crypto): support importing RSA JWKs (#13071)
This commit adds support for importing RSA JWKs in the Web Crypto API.

Co-authored-by: Sean Michael Wykes <sean.wykes@nascent.com.br>
2021-12-14 12:25:07 +01:00
Andreu Botella
0f0dd5b7ec
feat(ext/web): implement AbortSignal.prototype.throwIfAborted() (#13044)
See whatwg/dom#1034.
2021-12-10 15:12:38 +01:00
Andreu Botella
542b71eef9
chore: update wpt (#13043) 2021-12-10 14:48:46 +01:00
Yacine Hmito
a3d024ac2e
feat(crypto): support importKey in SPKI format (#12921)
This commit adds support for `spki` key format for `crypto.subtle.importKey` for the RSA* algorithms.
2021-12-09 20:32:55 +01:00
Andreu Botella
318f48f9ad
feat(streams): support abort reasons in streams (#12991) 2021-12-08 23:31:22 +01:00
Andreu Botella
b91e6fd02f
chore: Update WPT (#12987) 2021-12-06 16:03:09 +01:00
Divy Srivastava
d31378726e
feat(ext/crypto): implement unwrapKey (#12539) 2021-12-05 04:55:11 +01:00
Divy Srivastava
96d02deed6
feat(ext/crypto): support importing exporting AES JWK keys (#12444) 2021-11-28 16:48:49 +01:00
Luca Casonato
2853e37604
fix(ext/crypto): throw on key & op algo mismatch (#12838) 2021-11-25 15:57:01 +01:00
Luca Casonato
71ceca0ffc
fix(ext/crypto): don't panic on decryption failure (#12840) 2021-11-22 23:58:21 +01:00
Luca Casonato
82dd133d5c
chore: disable flaky wpt tests (#12696) 2021-11-08 23:30:41 +01:00
Leo Kettmeir
c91da1222b
feat(ext/web): WritableStreamDefaultController.signal (#12654) 2021-11-08 12:54:24 +01:00
Luca Casonato
3828a7eb11
chore: update wpt (#12682)
This commit updates WPT to 3904336d37ed6f480fc8879ea8bd5683a39ede3d.
2021-11-08 02:20:39 +01:00
Aaron O'Mullan
0f8299d011
fix(cli): don't panic when mapping unknown errors (#12659)
Instead fallback to generic "Error" class, fixes #12590, also update WPT expectations
2021-11-07 15:33:56 +01:00
Leo Kettmeir
95b2955712
feat(ext/web): BYOB support for ReadableStream (#12616)
This commit introduces support for BYOB readers in the WHATWG Streams API implementation.
2021-11-03 10:47:40 +01:00
Andreu Botella
bc8e94155a
fix(encoding): support additional encoding labels (#12586) 2021-10-29 10:31:42 +05:30
Andreu Botella
74a93fdf63
fix(webidl): Don't throw when converting a detached buffer source (#12585)
The Web IDL conversion to `BufferSource` and similar types shouldn't
check whether the buffer is detached.

In the case of `TextDecoder`, our implementation would still throw after
the Web IDL conversions because we're creating a new `Uint8Array` from
the buffer source's buffer, which throws if it's detached. This change
also fixes this bug.
2021-10-28 23:17:27 +02:00
Luca Casonato
be68b82eb4
chore: update to rusty_v8 0.33.0 (#12564) 2021-10-27 23:26:15 +02:00
Andreu Botella
09dd77c13e
fix(workers): Make importScripts() use the same HTTP client as fetch (#12540)
The initial implementation of `importScripts()` in #11338 used
`reqwest`'s default client to fetch HTTP scripts, which meant it would
not use certificates or other fetching configuration passed by command
line flags. This change fixes it.
2021-10-27 15:09:58 +02:00
Bert Belder
22d6e43c37
chore(wpt): disable broken tests (#12385)
* 'request-upload.h2' and 'redirect-upload.h2' only work with a
  functional HTTP2 test harness server, otherwise they're flaky.
* Fetch request streaming tests require a server that doesn't choke
  on requests that use 'Transfer-Encoding: chunked'.
2021-10-17 15:12:19 +02:00
Divy Srivastava
b1e7452cd3
feat(ext/crypto): support importing/exporting raw AES keys (#12392) 2021-10-12 15:48:08 +02:00
Luca Casonato
fef8b08614
feat: update to V8 9.5 (#12399) 2021-10-12 13:30:39 +02:00
Divy Srivastava
58f04d8e46
feat(ext/crypto): implement deriveKey (#12117) 2021-10-12 16:09:46 +05:30
Andreu Botella
fbcbbd7ae3
fix(runtime): Declare Window.self and DedicatedWorkerGlobalScope.name with util.writable() (#12378)
`Window`'s `self` property and `DedicatedWorkerGlobalScope`'s `name`
property are defined as Web IDL read-only attributes with the
`[Replaceable]` extended attribute, meaning that their setter will
redefine the property as a data property with the set value, rather than
changing some internal state. Deno currently defines them as read-only
data properties instead.

Given that Web IDL requires all attributes to be accessor properties
rather than data properties, but Deno exposes almost all of those
properties as either read-only or writable data properties, it makes
sense to expose `[Replaceable]` properties as writable as well – as is
already the case with `WindowOrWorkerGlobalScope`'s `performance`
property.
2021-10-11 18:50:18 +02:00
Andreu Botella
66804d26f3
chore(wpt): Enable WPT worker tests (#12222)
Classic workers were implemented in denoland#11338, which also enabled the WPT
tests in the `workers` directory. However, the rest of WPT worker tests
were not enabled because a number of them were hanging due to
web-platform-tests/wpt#29777. Now that that WPT issue is fixed, the bulk
of worker tests can be enabled.

There are still a few tests that hang, and so haven't been enabled. In
particular:

- The following tests seem to hang because a promise fails to resolve.
  We can detect such cases in non-worker tests because the process will
  exit without calling the WPT completion callback, but in worker tests
  the worker message ops will keep the event loop running. This will be
  fixed when we add timeouts to WPT tests (denoland#9460).

  - `/fetch/api/basic/error-after-response.any.worker.html`
  - `/html/webappapis/microtask-queuing/queue-microtask-exceptions.any.worker.html`
  - `/webmessaging/message-channels/worker-post-after-close.any.worker.html`
  - `/webmessaging/message-channels/worker.any.worker.html`
  - `/websockets/Create-on-worker-shutdown.any.worker.html`

- The following tests apparently hang because a promise rejection is
  never handled, which will kill the process in the main thread but not
  in workers (denoland#12221).

  - `/streams/readable-streams/async-iterator.any.worker.html`
  - `/workers/interfaces/WorkerUtils/importScripts/report-error-setTimeout-cross-origin.sub.any.worker.html`
  - `/workers/interfaces/WorkerUtils/importScripts/report-error-setTimeout-redirect-to-cross-origin.sub.any.worker.html`
  - `/workers/interfaces/WorkerUtils/importScripts/report-error-setTimeout-same-origin.sub.any.worker.html`
2021-10-08 17:44:38 +02:00
Andreu Botella
74e5b68682
refactor: deduplicate defineEventHandler util (#12367) 2021-10-08 09:53:31 +02:00
Andreu Botella
e8b3ffd155
fix(runtime): Getting navigator.hardwareConcurrency on workers shouldn't throw (#12354) 2021-10-07 19:39:33 +02:00
Andreu Botella
2170a41d97
feat(web): Implement DOMException's stack property. (#12294)
As per WebIDL (https://heycam.github.io/webidl/#es-DOMException-specialness),
if `Error` objects have a `stack` property, so should `DOMException`
instances.
2021-10-03 17:21:49 +02:00
Divy Srivastava
5065c7bcd9
feat(ext/crypto): implement wrapKey (#12125) 2021-10-01 11:39:49 +02:00
Ahab
923d9c7786
fix(ext/fetch): avoid panic when header is invalid (#12244) 2021-09-29 18:42:06 +02:00
Andreu Botella
cdb252af0a
feat: support serializing WebAssembly.Module objects (#12140) 2021-09-29 10:47:24 +02:00
Andreu Botella
1380defb80
chore: update wpt (#12206) 2021-09-25 15:27:34 +02:00
李瑞丰
46245b830a
fix(ext/webidl): correctly apply [SymbolToStringTag] to interfaces (#11851)
Co-authored-by: Luca Casonato <hello@lcas.dev>
Co-authored-by: Yoshiya Hinosawa <stibium121@gmail.com>
2021-09-25 02:07:22 +09:00
Divy Srivastava
c41460ecc4
feat(ext/crypto): import RSA pkcs#8 keys (#11891) 2021-09-14 15:21:20 +02:00
Luca Casonato
d0b5ff6db9
feat(ext/crypto): generate ECDH keys (#11870)
Add support for ECDH algorithm in SubtleCrypto#generateKey.
2021-09-13 11:35:49 +02:00
Feng Yu
464dcc1388
fix: FileReader onevent attributes don't conform to spec (#11908) 2021-09-12 09:35:05 -04:00
Divy Srivastava
0cb22d4cba
feat(ext/crypto): implement HKDF operations (#11865)
Co-authored-by: Luca Casonato <lucacasonato@yahoo.com>
2021-09-11 16:54:03 -04:00
Andreu Botella
1563088f06
fix: a Request whose URL is a revoked blob URL should still fetch (#11947)
In the spec, a URL record has an associated "blob URL entry", which for
`blob:` URLs is populated during parsing to contain a reference to the
`Blob` object that backs that object URL. It is this blob URL entry that
the `fetch` API uses to resolve an object URL.

Therefore, since the `Request` constructor parses URL inputs, it will
have an associated blob URL entry which will be used when fetching, even
if the object URL has been revoked since the construction of the
`Request` object. (The `Request` constructor takes the URL as a string
and parses it, so the object URL must be live at the time it is called.)

This PR adds a new `blobFromObjectUrl` JS function (backed by a new
`op_blob_from_object_url` op) that, if the URL is a valid object URL,
returns a new `Blob` object whose parts are references to the same Rust
`BlobPart`s used by the original `Blob` object. It uses this function to
add a new `blobUrlEntry` field to inner requests, which will be `null`
or such a `Blob`, and then uses `Blob.prototype.stream()` as the
response's body. As a result of this, the `blob:` URL resolution from
`op_fetch` is now useless, and has been removed.
2021-09-08 11:29:21 +02:00
Luca Casonato
e07f28d301
feat: add URLPattern API (#11941)
This adds support for the URLPattern  API.

The API is added in --unstable only, as it has not yet shipped in any
browser. It is targeted for shipping in Chrome 95.

Spec: https://wicg.github.io/urlpattern/

Co-authored-by: crowlKats < crowlkats@toaxl.com >
2021-09-08 11:14:29 +02:00
Luca Casonato
066f75ac07
chore: update wpt (#11950) 2021-09-07 23:50:22 +02:00
Ryan Dahl
c132c8690b
BREAKING(unstable): Remove Deno.Signals enum, Deno.signals.* (#11909) 2021-09-06 10:05:33 -04:00
Luca Casonato
cee5be4539
feat(ext/crypto): AES key generation (#11869)
Support AES-CTR, AES-CBC, AES-GCM, and AES-KW in
SubtleCrypto#generateKey.
2021-08-31 11:25:44 +02:00
Divy Srivastava
1f57cd2c0f
feat(ext/crypto): support JWK import for HMAC (#11716) 2021-08-27 13:19:41 +02:00
Divy Srivastava
23a9bc099d
feat(ext/crypto): implement importKey and deriveBits for PBKDF2 (#11642) 2021-08-26 12:48:07 +02:00
Luca Casonato
5d814a4c24
feat: ArrayBuffer in structured clone transfer (#11840) 2021-08-25 13:48:53 +02:00
Divy Srivastava
85a56e7144
feat(ext/crypto): implement encrypt, decrypt & generateKey for RSA-OAEP (#11654) 2021-08-24 21:59:02 +02:00
Luca Casonato
50f69a6996
fix: FileReader.readAsText compat (#11814)
Fixes a WPT test.
2021-08-24 13:13:22 +02:00
Luca Casonato
a66218d457
fix(runtime): event loop panics in classic workers (#11756)
Classic worker scripts are now executed in the context of a Tokio
runtime. This does mean we can not spawn more tokio runtimes in
"op_worker_sync_fetch". We instead spawn a new thread there, that can
create a new Tokio runtime that we can use to block the worker thread.
2021-08-18 15:19:22 +02:00
Divy Srivastava
eea6f578fc
fix(ext/crypto): enable non-extractable keys (#11705) 2021-08-16 18:11:36 +02:00
Andreu Botella
ddbb7b83f2
feat(runtime): support classic workers for internal testing (#11338)
This commit implements classic workers, but only when the `--enable-testing-features-do-not-use` flag is provided. This change is not user facing. Classic workers are used extensively in WPT tests. The classic workers do not support loading from disk, and do not support TypeScript.

Co-authored-by: Luca Casonato <hello@lcas.dev>
2021-08-16 14:29:54 +02:00
Luca Casonato
47b7cd5a7e
chore: roll wpt (#11692)
This PR rolls WPT to 7eb7372a61
2021-08-14 13:27:09 +02:00
Divy Srivastava
71f79097c6
fix(ext/crypto): importKey() SecurityError on non-extractable keys (#11662)
Co-authored-by: Luca Casonato <hello@lcas.dev>
2021-08-13 23:20:44 +02:00
Luca Casonato
eae9d5b647
fix: Blob#slice arguments should be optional (#11665) 2021-08-12 19:16:23 +02:00
Divy Srivastava
b1799e6771
chore(tools): use local std in wpt utils (#11644) 2021-08-12 10:09:27 +02:00
Leo K
2db381eba9
feat: add experimental WebSocketStream API (#10365)
This commit adds the experimental WebSocketStream API when
using the --unstable flag.

The explainer for the API can be found here:
https://github.com/ricea/websocketstream-explainer
2021-08-10 00:28:17 +02:00
Luca Casonato
4d4ce4c4d8
chore: update wpt (#11621) 2021-08-09 18:49:31 +02:00
Divy Srivastava
87de8e82a1
feat(extensions/crypto): implement verify() for HMAC (#11387) 2021-08-04 21:49:27 +02:00
Divy Srivastava
86f89f9222
feat(extensions/crypto): implement importKey and exportKey for raw HMAC keys (#11367)
This commit introduces "SubtleCrypto.importKey()" and 
"SubtleCrypto.exportKey()" APIs.
2021-08-03 21:24:02 +02:00
Bartek Iwańczuk
505d253436
Revert "fix(extensions/fetch): Add Origin header to outgoing requests for fetch (#11557)" (#11565)
This reverts commit f87aa44d94.
2021-08-02 15:56:52 +02:00
Feng Yu
f87aa44d94
fix(extensions/fetch): Add Origin header to outgoing requests for fetch (#11557) 2021-08-02 02:19:21 -07:00
Luca Casonato
08d2c7250b
fix: Big{U|}Int64Array in crypto.getRandomValues (#11447)
Relevant spec change: https://github.com/w3c/webcrypto/pull/266
2021-07-19 15:35:47 +02:00
Luca Casonato
7b82ef9ded
chore: update wpt (#11446) 2021-07-19 13:46:02 +02:00
Andreu Botella
5b771e7e83
fix(extensions/web): aborting a FileReader should not affect later reads (#11381)
Currently, calling the `abort()` method on a `FileReader` object aborts
any current read operation, but it also prevents any read operation
started at some later point from starting. The File API instead
specifies that calling `abort()` should reset the `FileReader`'s state
and result, as well as removing any queued tasks from the current
operation that haven't yet run.
2021-07-14 12:08:42 +02:00
Andreu Botella
2c7c130f0a
chore(wpt): Mark a WPT test as failed if it exits before completion (#11371)
Currently, a WPT test is considered failed if its status code is
anything other than 0, regardless of whether the test suite completed
running or not, and any subtests that haven't finished running are not
considered to be failures.

But a test can exit with a zero status code before it has completed
running, if the event loop has run out of tasks because of a bug in one
of the ops, leading to false positives. This change fixes that.
2021-07-12 21:15:07 +02:00
Divy Srivastava
00484d24ba
feat(extensions/crypto): implement verify() for RSA (#11312) 2021-07-12 14:45:36 +02:00
Divy Srivastava
b3f22d3fdd
fix(extensiosn/web): AddEventListenerOptions.signal shouldn't be nullable (#11348) 2021-07-10 07:13:58 -07:00
Divy Srivastava
391bf17479
chore(extensions/crypto): enable WPT stringification test (#11336) 2021-07-09 17:04:50 +02:00
Andreu Botella
c972fe6cec
tests: escape lone surrogates in wptreport (#11310) 2021-07-07 19:56:47 +02:00
Divy Srivastava
570309d795
feat(crypto): implement generateKey() and sign() (#9614)
Co-authored-by: Luca Casonato <hello@lcas.dev>
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2021-07-06 14:16:04 +02:00
Jimmy Wärting
2c0b0e45b7
refactor: asynchronous blob backing store (#10969)
Co-authored-by: Luca Casonato <hello@lcas.dev>
2021-07-05 15:34:37 +02:00
Leo K
220104f577
fix: spec conformance for performance API (#10887) 2021-07-05 13:17:11 +02:00
Luca Casonato
3c0267dbb5
fix: align DOMException to webidl spec (#11259) 2021-07-04 16:08:53 +02:00
Andreu Botella
ffa75be480
feat: enable WebAssembly.instantiateStreaming and wasm async compilation (#11200)
The WebAssembly streaming APIs used to be enabled, but used to take
buffer sources as their first argument (see #6154 and #7259). This
change re-enables them, requiring a Promise<Response> instead, as well as
enabling asynchronous compilation of WebAssembly modules.
2021-07-03 23:33:36 +02:00
Luca Casonato
14104c4e5b chore: update wpt submodule 2021-07-03 22:20:28 +02:00
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