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
李瑞丰
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
Kitson Kelly
2a56cd545c
chore: bump crate versions for 1.14.1 ( #12172 )
2021-09-22 06:53:47 +10:00
Aaron O'Mullan
0aa6fefce7
perf(ext/web): optimize EventTarget ( #12166 )
...
and all its subclasses including `AbortSignal` ...
Instead of storing associated data in a global `WeakMap` we store them as private attributes (via a Symbol) on the object instances
2021-09-21 17:51:44 +02:00
Aaron O'Mullan
f827b93df4
perf(web): optimize AbortController ( #12165 )
...
- Use regular class constructor and symbol "private" attributes
- Lazy init Set of follower signals
2021-09-21 17:38:57 +02:00
Squirrel
4b79e5a459
chore: Remove unused deps from Cargo.toml files ( #12106 )
2021-09-17 14:39:32 +02:00
David Sherret
16c27fce1f
chore: bump crate versions for 0.14 ( #12072 )
2021-09-14 15:38:35 -04:00
Feng Yu
464dcc1388
fix: FileReader onevent attributes don't conform to spec ( #11908 )
2021-09-12 09:35:05 -04:00
Nayeem Rahman
d947629292
fix(ext/web): Preserve stack traces for DOMExceptions ( #11959 )
2021-09-08 23:14:26 +02:00