Bartek Iwańczuk
884143218f
refactor: update runtime code for primordial checks for "instanceof" ( #13497 )
2022-01-27 13:36:36 +01:00
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
Divy Srivastava
16776c9ade
chore: bump crate version for 0.18.0 ( #13441 )
2022-01-20 20:50:39 +05:30
Yoshiya Hinosawa
4c1053ad33
chore: update copyright year ( #13434 )
2022-01-20 16:10:16 +09:00
Bartek Iwańczuk
b10563cb20
fix(runtime): don't crash when window is deleted ( #13392 )
...
This commit fixes an error when user deletes "window" global JS
variable. Instead of relying on "window" or "globalThis" to dispatch
"load" and "unload" events, we are default to global scope of the
worker.
2022-01-18 00:13:14 +01:00
Leo Kettmeir
cf2d2b7280
fix(streams): update TypeError message for pending reads when releasing reader ( #13376 )
2022-01-14 18:47:16 +01:00
Leo Kettmeir
659bbd731c
feat(streams): reject pending reads when releasing reader ( #13375 )
2022-01-14 17:34:54 +01:00
Bartek Iwańczuk
9975ede773
chore: forward v1.17.3 to main ( #13364 )
2022-01-13 20:47:42 +01:00
Luca Casonato
f3ece7457a
fix(ext/web): handle no arguments in atob ( #13341 )
2022-01-11 17:31:13 +01:00
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
Bartek Iwańczuk
46f2ff1205
chore: forward 1.17.2 to main ( #13295 )
2022-01-06 13:20:42 +01:00
Andreu Botella
22d140ffb1
refactor(ext/web): Don't rely on NaN comparisons in TextEncoderStream
( #13151 )
...
In the `transform` function to `TextEncoderStream`'s internal
`TransformStream`, if `chunk` is the empty string and
`this.#pendingHighSurrogate` is null, then `lastCodeUnit` will be NaN.
As it turns out, this does not cause a bug because the comparison to
check for lone surrogates turns out to be false for NaN, but to rely on
it makes the code brittle.
2022-01-05 00:42:30 +01:00
Bartek Iwańczuk
9391ba1098
chore: merge v1.17.1 into main ( #13184 )
2021-12-22 22:20:17 +01:00
Bartek Iwańczuk
e0cba6b19b
chore: release crates for v1.17.0 ( #13112 )
2021-12-16 18:51:23 +01:00
Yoshiya Hinosawa
308813ae29
fix(ext/web): set location undefined when --location
is not specified ( #13046 )
2021-12-14 00:35:59 +09:00
Andreu Botella
0f0dd5b7ec
feat(ext/web): implement AbortSignal.prototype.throwIfAborted()
( #13044 )
...
See whatwg/dom#1034 .
2021-12-10 15:12:38 +01:00
Kitson Kelly
345f0fbe5c
feat(cli): update to TypeScript 4.5 ( #12410 )
...
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2021-12-10 09:12:21 +11:00
Andreu Botella
318f48f9ad
feat(streams): support abort reasons in streams ( #12991 )
2021-12-08 23:31:22 +01:00
Luca Casonato
72e9720e91
chore: merge v1.16.4 into main ( #12984 )
2021-12-04 01:26:54 +01:00
Bert Belder
c6f3493f18
chore: merge v1.16.3 into main ( #12892 )
2021-11-24 15:56:18 -08:00
David Sherret
cd61cedd19
chore: bump crates for 1.16.2 ( #12792 )
2021-11-17 10:14:23 -05:00
Luca Casonato
3250ffe020
chore: bump crate versions for 1.16.1 ( #12729 )
2021-11-11 11:16:05 +01:00
Luca Casonato
08067b5e12
fix: add typings for AbortSignal.reason ( #12730 )
2021-11-11 10:28:06 +01:00
Luca Casonato
4f64acd4e4
chore: bump crate versions for 1.16.0 ( #12706 )
2021-11-09 13:03:17 +01:00
Leo Kettmeir
ccd730a8b7
feat(ext/web): add AbortSignal.reason
( #12697 )
2021-11-08 23:37:06 +01:00
Leo Kettmeir
c91da1222b
feat(ext/web): WritableStreamDefaultController.signal ( #12654 )
2021-11-08 12:54:24 +01:00
Leo Kettmeir
ed761bf83f
BREAKING chore(ext/web): remove ReadableStream.getIterator
( #12652 )
2021-11-05 22:21:25 +01:00
Leo Kettmeir
26a5471302
fix: typings for BYOB stream readers ( #12651 )
2021-11-05 12:56:28 +01:00
Ryan Dahl
7c2abb9d57
fix: Deno.emit crashes with BorrowMutError ( #12627 )
...
Warn on await_holding_refcell_ref clippy rule to avoid this in the future.
Fixes #12453
2021-11-03 09:27:36 -04: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
Bartek Iwańczuk
8e31bbbe55
chore: update to Rust edition 2021 ( #12578 )
2021-11-02 10:03:37 -04: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
Andreu Botella
507ab50e0f
perf(encoding): avoid copying the input data in TextDecoder
( #12573 )
...
The implementation of `TextDecoder` had a bug where it was copying the
input data in every case. This change removes that copy in
non-`SharedArrayBuffer` cases.
Since passing a shared buffer source to Rust would fail, this copy of
the input data was making `TextDecoder` work in cases where the input
is shared. In order to avoid a breaking change, the copy is retained in
those cases.
2021-10-29 07:32:58 +11:00
Yoshiya Hinosawa
c7dcf1cbdd
chore: bump crate version for 1.15.3 ( #12531 )
2021-10-25 15:48:01 +09:00
Bartek Iwańczuk
2997021615
fix: declare web types as global ( #12497 )
...
Co-authored-by: Feng Yu <F3n67u@outlook.com>
2021-10-21 08:47:14 +02:00
Bartek Iwańczuk
1cd9272a91
chore: release crates for v1.15.2 ( #12478 )
2021-10-18 20:30:00 +02:00
Bert Belder
ff932b411d
fix(core): poll async ops eagerly ( #12385 )
...
Currently all async ops are polled lazily, which means that op
initialization code is postponed until control is yielded to the event
loop. This has some weird consequences, e.g.
```js
let listener = Deno.listen(...);
let conn_promise = listener.accept();
listener.close();
// `BadResource` is thrown. A reasonable error would be `Interrupted`.
let conn = await conn_promise;
```
JavaScript promises are expected to be eagerly evaluated. This patch
makes ops actually do that.
2021-10-17 19:50:42 +02:00
Satya Rohith
fb094ae026
chore: bump crate version for 1.15.0 ( #12406 )
2021-10-12 22:16:15 +05:30
David Sherret
9b1f0c8ba3
chore: upgrade crates based on deno ast 0.3 ( #12403 )
2021-10-12 09:58:04 -04:00
Kenta Moriuchi
5f405bf114
fix(ext/web): Format DOMException stack property ( #12333 )
2021-10-08 17:01:02 +02:00
Andreu Botella
74e5b68682
refactor: deduplicate defineEventHandler
util ( #12367 )
2021-10-08 09:53:31 +02:00
Bartek Iwańczuk
d67e858506
chore: merge v1.14.3 into main ( #12327 )
2021-10-05 21:40:39 +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
Aaron O'Mullan
7f390612a3
perf(web): optimize byteLowerCase() ( #12282 )
2021-10-01 01:03:51 +02:00
Aaron O'Mullan
68e5cdaff0
perf(web): ~400x faster http header trimming ( #12277 )
...
Use a regex substring match with a first/last char fastpath instead of 2 regex replaces. Roughly ~400x faster (423ms vs 0.7ms in profiled runs)
2021-09-30 18:39:55 +02:00
Aaron O'Mullan
4cf744032d
perf(web/Event): move last class field to constructor ( #12265 )
2021-09-29 20:50:25 +02:00
Aaron O'Mullan
e8901281da
chore: bump crate versions for 1.14.2 ( #12253 )
2021-09-28 12:19:03 +02:00
Aaron O'Mullan
5788f2e082
perf(web): optimize Event constructor ( #12231 )
...
Assign in constructor instead of using class initializers which are currently ~10x slower
2021-09-26 20:41:05 +02:00
Dan Rose
09f2cdbc72
fix(ext/web): FileReader error messages ( #12218 )
2021-09-25 15:28:17 +02:00